사원수란?
회전을 표현
세 축을 동시에 회전
4개의 값(x, y, z, w)으로 이루어진 복소수(Complex Number) 체계
벡터 (x, y, z)와 스칼라(w, roll)으로 구성
스칼라
좌표계가 바뀌어도 변하지 않는 양
쿼터니언에서 w 값은 회전 축에 대한 정보를 담고 있으며, 회전을 수행할 때 회전 축 주위를 회전하는 정도를 결정한다
회전 축에 대한 스칼라 값 w가 커지면 회전의 크기가 커지고, 작아지면 회전의 크기가 작아진다
복소수
실수부 + 허수부의 합 으로 구성된 가장 큰 범위의 수
사원수 특징
- 행렬보다 연산 속도가 빠르다
- 메모리 양 적다
- 결과 오류 적다
- Gimbal Lock(짐벌락) 현상 발생 방지
GimbalLock(짐벌락) 현상이란?
Gimbal Lock(짐벌락) 현상 : 3축 회전 연산을 동시에 수행할 때, 한 축이 소실되는 현상
먼저 회전한 축이 아직 회전하지 않은 축을 함께 회전시키면서 축이 겹쳐진다
사원수 외의 회전을 표현하는 방법인 오일러 각
오일러 각 (Euler Angles) : 3차원 공간의 절대 좌표를 기준으로 물체의 회전을 측정
특징
- 직관적
- 조작이 쉽다
- 180도 이상의 회전 표현 가능
- 계산 비용 크다
- 짐벌락 현상 발생
'> 개념' 카테고리의 다른 글
[게임 수학] 벡터의 내적과 외적 활용 (0) | 2024.01.06 |
---|---|
[C++] 생성자 (0) | 2023.12.01 |
[C++] 변수와 메모리 공간 (0) | 2023.11.24 |
[C++] #pragma pack (0) | 2023.06.24 |
[C++] Hash (0) | 2023.06.04 |