이미지출처 : en.wikipedia.org
내가 3D를 건드리게 될 줄 알았다면,
선형대수학을 공부했을 텐데….
마우스 이벤트는 2D 좌표계에서 움직인다.
2D상에서 일어난 이벤트로 3D 객체를 변형할 때, 역행렬이 아주 유용하게 사용된다.
만약 (ㅜ) - 이렇게 생긴 3D 물체를 돌리고, (ㅏ) 상태에서 이동을 시킨다면. z축으로 90도 회전되었기 때문에,
마우스를 움직이는 방향과는 다르게 지멋대로 물체가 움직이게 된다.
이럴때 4*4 행렬의 역행렬을 가져와서 이동을 시키면,
물체를 돌리기 전 상태에서 이동을 시킬 수 있다.
자바에서는 Matrix4f의 invert메소드를 사용하면, 역행렬을 구할 수 있다.
4*4 Matrix
r = Rotation
t = translation
[
{rx0,rx1,rx2,tx},
{ry0,ry1,ry2,ty},
{rz0,rz1,rz2,tz},
{0,0,0,1}
]
----
Open english content
by 月風