4. 짐벌락 현상 제대로 이해하자
• 회전행렬을 적용했을 때 회전의 중심이 되는 축을 제외하고 나머
지 축들도 함께 회전한다.
• xyz순서로 회전을 한다고 가정했을 때 y축 회전에 의해 이전에 x
축으로 회전했던 축과 다음으로 회전할 축인 z축이 같아지는 현
상이 짐벌락 현상이다.
• 두번째로 회전하는 축의 각도가 90도가 되는 것을 피하면 된다.
• 짐벌락 현상을 소멸시킬 수 있는 방법은 없다. 최대한 피하는 방
법뿐이다.
• 특정 방향으로 회전을 못하는 것이 아니다. 그저 불편할 뿐이다.
5. 짐벌락 현상을 피하기 위한 방법들
•회전의 순서를 바꾼다.
•임의의 축 회전을 이용한다.
6. 임의의 축 회전
말 그대로 사용자가 지정한 축으로 회전하는 변환
DX에서는 D3DXMatrixRotationAxis라는 함수로 기능을 제공하고 있다
7. Rodrigues' rotation formula
• 임의의 축 회전 변환의 방법 중 하나이다.
• 쿼터니언을 이용한 회전변환을 찾는 과정 중, 아래 행렬의 유도
과정에서 나온 공식과 형태가 같음을 통해 회전변환임을 알게 된
다.
• 참고자료 : http://spacebug.blog.me/130187075488
8. 쿼터니언
• 복소수의 특징을 이용해 x, y, z의 정보를 담을 수 있다.
• 효율적이기 때문에 사용한다.
• 쿼터니언을 통한 회전 변환은 임의의 축에 대한 변환이다.
9. 행렬을 통해 정보를 담듯 사원수를 통해 정보를 담는다
허수부를 통해 x,y,z 3차원을 나타냈으니 실수부는 그냥 남는 자원이다
10.
11.
12.
13.
14.
15. 쿼터니언 회전변환
회전 정보를 담고 있는 쿼터니언q와 좌표 정보를 담고 있는 쿼터니언p
는 임의의 축이다. 해당하는 축의 벡터 정보를 가지면 된다.