我有一个像这样的 3 维数组(我有对象而不是 0):
var array:Array =
[
[
[0,0],[0,0],[0,0]
],
[
[0,0],[0,0],[0,0]
],
[
[0,0],[0,0],[0,0]
],
[
[0,0],[0,0],[0,0]
]
];
每个数组位置都包含一个放置在 3D 空间中的对象,要定位它,您只需要:array[zPos][yPos][xPos]。
是否有允许我在 Z、Y 和/或 X 轴上将阵列旋转 90 度的库或函数?
注意:记住数组可能是不规则的。
编辑:
我不认为我已经说清楚了。我不想在 3D 空间中移动对象,我只想知道它们在那里。我想要做什么来操作数组。
我找到了解决问题的部分方法,但我相信可以对其进行优化。我开发了一个公式来按 Z 轴旋转多个数组。这是代码:
var arr1:Array =
[
[
[ 0, 1, 2, 3],
[010, 011, 012, 013]
],
[
[100, 101, 102, 103],
[110, 111, 112, 113]
],
[
[200, 201, 202, 203],
[210, 211, 212, 213]
]
];
var arr2:Array = new Array;
for (var i:int = 0; i < arr1.length; i++)
{
arr2.push(new Array);
for (var j:int = 0; j < arr1[i][0].length; j++)
{
arr2[i].push(new Array);
for (var k:int = 0; k < arr1[i].length; k++)
{
arr2[i][j].push(0);
}
}
}
for (i = 0; i < arr1.length; i++)
{
for (j = 0; j < arr1[i].length; j++)
{
for (k = 0; k < arr1[i][j].length; k++)
{
arr2[i][k][arr1[i].length - j - 1] = arr1[i][j][k];
}
}
}
您是否知道通过 Y 轴或 X 轴旋转多个数组的其他库公式?非常感谢,对不起我的英语