上周五,在当地时间的时钟是下午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等等...

这可能会更好,如果你圆润,而不是地板。

好运:)

其他提示

如果我理解正确的话,我觉得这是对这种事情基本算法(但它已经太久,因为学校!)。基本上,它是一个递归调用,所以你的终点,并通过它把一个物体上的中间点。这样您就可以开始到中间的第一终点递归,而中间到终端作为第二。所以,你保持了一半分割的空白。

正如我键入此,我实现这一点,如果对象来分发的数量是一个正方形才有效。不过,我会离开的情况下,它给别人一个更好的主意了答案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top