Quaternions (쿼터니언)은 3차원 회전을 표현하기 위한 방법으로, 특히 Gimbal Lock(짐벌 락) 문제를 해결하기 위해 널리 사용된다. Quaternion은 4차원 수로, 복소수의 확장된 개념으로 이해할 수 있다. 회전과 같은 3D 변환에서 Quaternion은 직관적이지 않지만, 강력하고 효율적인 방식이다.
정의
쿼터니언은 하나의 실수 성분과 세 개의 허수 성분으로 이루어진다.
q=q0+q1i+q2j+q3k
여기서 qn는 실수 부분이고, i,j,k 는 허수 부분이다.
이것을 벡터로 표현하면 다음과 같다.
q=(q0,v)
여기서 q0는 실수 부분, v=(q1,q2,qr) 는 벡터 부분이다.
장점
짐벌 락 해결
쿼터니언은 세 개의 축이 선형적으로 겹치는 짐벌 락 문제를 피할 수 있다. 이는 쿼터니언이 4차원 공간에서의 회전으로 처기되기 때문으로, 3D 회전의 복잡한 문제를 깔끔하게 해결할 수 있다.
효율성
쿼터니언은 회전을 적용할 때 행렬보다 계산이 간단하고 빠르다. 행렬을 사용할 경우 9개의 값이 필요하지만, 쿼터니언은 4개의 값 만으로도 회전을 표현할 수 있다.
안정성
쿼터니언은 누적 회전 시 발생할 수 있는 작은 오차가 쌓이는 문제인 drift 현상이 적다.
부드러운 회전
쿼터니언을 사용하면 두 회전 상태 사이를 부드럽게 보간 할 수 있다. (예: Slerp, 구면 선형 보간)