자세한 설명은 위 링크에 더 많이 나와있고, 전 실제 Matrix3D가 어떻게 돌아가는지를 살짜쿵 맛보겠습니다. 내용이 많아질거 같아 설명은 링크에 양보하겠습니다.
(Matrix 로 설명을 할까 하다가, 요즘 플래시 11 + 3d 스터디를 시작했기 때문에 Matrix3D 로 설명을 하겠습니다.)
(as 레퍼런스의 이미지를 가져왔습니다)
Matrix3D 는 4*4 행렬을 사용합니다
4 * 4 행렬이기 때문에 총 원소(이 표현이 맞는지 모르겠네요)는 16개가 됩니다. Matrix 와 달리 16개나 되는 숫자를 넣다보니 Vector.<Number> 를 생성자의 인자로 갖게 됩니다.
그리고 Vector 의 원소는 1행의 1열부터 1행2열, 1행 3열, 1행 4열, 2행 1열..... 이런 순서로 채우게 됩니다
예를 들어,
var v:Vector.<Number> = Vector.<Number>([0,1,2,3, 4,5,6,7, 8,9,10,11, 12,13,14,15])
var m:Matrix3D = new Matrix3D(v)
이렇게 넣는다면,
0 4 8 12
1 5 9 13
2 6 10 14
3 7 11 15
이렇게 채운다는 말이죠...
디스플레이 오브젝트의 기본값(scaleX = scaleY = scaleZ = 1, x = y = z = 0)으로 넣는다면
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
이렇게 될겁니다. 맨마지막(그림에서 tw)이 1인 이유는 항등행렬에 만족하기 위해서입니다. 이건 나중에 기회가 되면...