반응형
3D 회전에서 골치아픈 문제인 짐벌락.
유튜브가 없던 시절 책이나 문서로만 설명되어 있다보니 이해하기가 어려워 대충 넘어갔던 기억이 난다.
최근 프로그래밍 공부를 다시 시작하면서 등장한 짐벌락. ^^;;
Gimbal :
보통 3개의 링 구조로 구성되어 있으며, 자유롭게 회전할 수 있는 장치를 짐벌이라고 한다.
Gimbal Lock :
2개의 링의 회전 축이 일치하게 되어, 한 축의 자유도를 잃게 되는 현상을 짐벌 락이라고 한다.
쉽게 말해 2개의 링이 겹치게 되어 발생하는 현상이다.
Euler 회전 :
오일러 회전은 x, y, z 축을 중심으로 한 회전이기 때문에 이해하기가 쉽다.
다만, 각 회전축이 부모 - 자식의 계층 구조로 되어 있어 한 축의 회전이 다른 한 축에 영향을 주게됨으로써 짐벌락이라는 문제를 일으키게 된다.
대안으로 쿼터니언을 사용하면 되지만, 4차원으로 표현되기 때문에 직관적이지 않고 이해하기 어렵다.
https://www.youtube.com/watch?v=sJcVJEOwLUs&t=10s
이보다 더 완벽한 영상은 못찾았다. 감동 ㅠ
영상의 하이라이트다. (2:30 ~ 3:45)
2개의 링이 동일한 평면에 놓이게 됨으로써, 3차원에서 축 한개의 기능을 상실했다.
반응형