그래픽스 관련

[Maya] C++ API 중 MMatrix, xform -matrix의 옵션

present 2011. 6. 22. 23:53
MMatrix m; 라고 선언하면

m[1][2] 라는 표현과 m(1,2) 라는 표현은 동일하게 연산자 오버로딩이 되어있다..
여기서 1은 행의 인덱스, 2는 열의 인덱스 이다.
행과 열 각각 인덱스의 시작은 0이다.

Maya에서는 postmultiplied matrix를 사용한다. 그러면 (point는 1x4행렬로 표현된다.)
포인트 P 에 대해 P*M*M'*M" .. 이런 식으로 곱해질 수 있다고 생각하면된다.
실제로 MVector v 와 MMatrix M에 대해
v*M 으로 연산한다.

따라서
기저변환 등에 있어서 transformation 행렬의 첫행은 x벡터 , 둘째 행은 y벡터 셋째 행은 z벡터(0,0,1) 을 대응시켜서 생각하면된다.

MEL 에서 매트릭스를 출력할 때 1차원으로 출력하는데 row major order이다. 즉 첫행을 먼저 다 출력 후에 둘째 행을 출력하는 방식이다.
명령어에서 행렬을 인자로 받을 때에도 row order 인듯하다.