У меня есть массив 3-х измерениях, как это (вместо 0 'У меня есть объекты):Как плести 3 Размеры массива ActionScript 3
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].
Есть ли библиотека или функция, которая позволяет мне вращать массив на 90 градусов по оси Z, Y и/или X?
Примечание: помните, что массив может быть нерегулярным.
EDIT:
Я не думаю, что я сделал себе ясно. Я не хочу перемещать объекты в трехмерном пространстве, я только хочу знать, что они есть. Что я хочу сделать, чтобы работать с массивом.
Я нашел частичное решение проблемы, но считаю, что ее можно оптимизировать. Я разработал формулу для вращения массива по оси 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? Большое спасибо и извините за мой английский
Я не совсем уверен, чего вы пытаетесь достичь, но я уверен, что вы можете сделать это с помощью away3d: http: // away3d. com/- вы разместите все свои объекты в 3d-контейнере, а затем закрутите их. – davivid