프로그래밍/3D

Gimbal Lock (짐벌락)

selinatsu 2024. 8. 4. 07:23
반응형

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차원에서 축 한개의 기능을 상실했다.

 

 

 

반응형