获取与仅限Y位置的路径上X对象的最平均的位置
-
22-07-2019 - |
题
上周五,在当地时间的时钟是下午3点22分,所以我的大脑不会给我一个解决方案,所以我问:
林试图写在ActionScript 3.0功能/算法,让我的位置的x个最平均位置沿可用位置的y个的路径。
Y为总是比当然X大。
的背景是,我得到了地图,具有例如50个对象的可能放置(沿一个路径)。但我只得到了32个物体沿着这条道路的地方,但我希望自己的展示位置,像平均/偶沿该路径成为可能。因此,它例如将不会在年底有很大的差距。我的缴费位置在存储在与点值的数组的时刻。
如果你只是做totalPos / wantedPos和地板,它会在年底一个“丑”的差距,任何想法?
编辑:
我想添加的功能柜面任何人都希望它:
function place (x : uint, y : uint ) : Array
{
var a : Array = new Array();
var s : Number = y / x;
var c : Number = 0;
for (var i : Number = 0; i<x; i++) {
c++;
var pos : Number = Math.round(i * s);
a.push(posArray[pos]);
}
return a;
}
假设你有一个数组posArray与已经在可能的位置上...
解决方案
如果你这样做totalPos / wantedPos,你会得到一个数字,可能不是INT。
例如32/7 = 4.57 ...
如果您地板并选择4,那么你得到在年底有很大的差距。但是,如果累加4.57和地板,你将差距缩小。
再比如32/7 = 4.57 ...所以最初选择4.对于下一个编号你得到2 * 4.57 ... = 9.14 ...,所以你选择9。然后3 * 4.57 ... = 13.71,所以你选择13等等...
这可能会更好,如果你圆润,而不是地板。
好运:)
其他提示
如果我理解正确的话,我觉得这是对这种事情基本算法(但它已经太久,因为学校!)。基本上,它是一个递归调用,所以你的终点,并通过它把一个物体上的中间点。这样您就可以开始到中间的第一终点递归,而中间到终端作为第二。所以,你保持了一半分割的空白。
正如我键入此,我实现这一点,如果对象来分发的数量是一个正方形才有效。不过,我会离开的情况下,它给别人一个更好的主意了答案。