TRS 는 Transform * Rotation * Scale 을 의미하며 이때의 기준은 column major 이다.
즉 곱하는 순서가 뒤로부터 해서 S, R, T 순으로 벡터를 변환한다는 말.
Transform 은 간단하다. _14, _24, _34 가 translate 좌표이다.
Scale 은 Rotation 과의 곱과 Rotation Matrix 가 unit vector 들로 이루어짐을 알아야 한다.
이 결과의 row 를 주의 깊게 보자.
한 축에 대한 scale 이 3번 있다. 그러므로 row 의 곱의 부호가 scale 의 부호다.
한 축의 제곱들의 합은 R 의 row 가 unit vector 이므로 scale 의 제곱이 된다.
그러므로 위에서 구한 부호 * root(row 의 제곱들의 합) 이 scale 이 될 것이다.
Rotation 은 위에서 구한 scale 을 보면 된다. 그냥 저기서 scale 만 나누면 되니까.
댓글 없음:
댓글 쓰기