[게임수학] 16. 사원수: 4차원 수로 설계한 3차원 회전
- 📕 Book/이득우 게임수학
- 2023. 4. 12.
사원수(Quaternion) : 4개의 독립된 체계로 구성된 4차원의 수집합, 2차원의 복소평면을 4차원 공간으로 확장한 개념
16.1 사원수 대수
사원수를 구성하는 세 허수
사원수는 3개의 허수부 i,j,k 로 구성되어있지만 허수단위 i와 같은 성질을 가진다.
사원수의 구조
사원수의 덧셈
q1 + q2 = (a1 + a2) + (b1 + b2)i + (c1 + c2)j + (d1 + d2)k
- 결합법칙 : q1 + (q2 + q3) = (q1 + q2) + q3
= (a1 + a2 + a3) + (b1 + b2 + b3)i + (c1 + c2 + c3)j + (d1 + d2 + d3)k
- 교환법칙 : q1 + q2 = q2 + q1 = (a1 + a2) + (b1 + b2)i + (c1 + c2)j + (d1 + d2)k
- 항등원 : (a + bi + cj + dk) + (0 + 0i + 0j + 0k) = (a + bi + cj + dk)
- 역원 : (a + bi + cj + dk) + (-a - bi - cj - dk) = (0 + 0i + 0j + 0k)
사원수의 곱셈
q1 · q2 = (a1a2 - b1b2 - c1c2 - d1d2) + (a1b2 + a2b1 + c1d2 - d1c2)i + (a1c2 + a2c1 + b2d1 - b1d2)j + (a1d2 + a2d1 + b1c2 - c1b2)k
- 결합법칙 : q1 · (q2 · q3) = (q1 · q2) · q3
- 분배법칙 : q1 · (q2 + q3) = q1 · q2 + q1 · q3
- 항등원 : (a + bi + cj + dk) · (1 + 0i + 0j + 0k) = (a + bi + cj + dk)
- 교환법칙은 성립하지 않음
사원수의 크기는 기호 | | 를 사용하여 표기한다 사원수의 크기를 노름(Norm)이라 부른다.
|q| = sqrt(a^2 + b^2 + c^2 + d^2)
사원수와 벡터
q = w + xi + yj + zk = (w, v->)
q1 + q2 = (w1 + w2, v1-> + v2->)
q1·q2 = (w1w2 - (v1->·v2->), w1v2-> + w2v1-> + v1 x v2)
순허수 사원수(Pure imaginary quaternion)
xi + yj + zk = (0, v->)
16.2 사원수의 회전
e^iθ = cos θ + i sin θ = (cos θ, sin θ)
사원수와 오일러 공식
회전 사원수 (Rotation quaternion) : 4차원 공간에서 회전축 n->을 중심으로 회전 변환하는 성질을 가지는 사원수 (cos θ, sin θ)
회전 사원수를 이용한 3차원 공간에서의 회전
회전 사원수와 순허수 사원수 벡터 v->의 곱셈
v'-> = q · v->
= (cos θ, sin θ · n->)·(0, v->)
= (-sin θ(n-> · v->), cos 0 v-> + sin 0(n-> x v->))
16.3 사원수의 변환
오일러 각에서 사원수로의 변환
q = (cos 0/2, sin 0/2·x->) = cos 0/2 + sin 0/2 i
사원수에서 오일러 각으로의 전환
중략
사원수에서 회전 변환 행렬로의 변환
┌ 1-2(y^2+z^2) 2(xy-zw) 2(xz+yw) ┐
│ 2(xy+zw) 1-2(x^2+z^2) 2(yz-xw) |
└ 2(xz-yw) 2(yz+xw) 1-2(x^2+y^2) ┘
회전 변환행렬에서 사원수로의 변환
중략
16.4 사원수의 보간
사원수의 장점
- 오일러 각과 쉽게 변환이 가능하며 회전행렬 제작이 용이
- 임의의 축에 대한 회전 표현이 가능하여 짐벌락 현상을 방지
- 임의의 축에 대한 회전 보간 값을 구할 수 있음
- 4개의 숫자만 사용하여 저장 공간을 효율적으로 쓸 수 있음
- 오일러각
- 저장 공간이 가장 작다. 공간의 수 3
- 짐벌락 현상이 발생한다.
- 한 기저 축에 대해서만 회전 보간이 가능하다.
- 직관적이다.
- 행렬
- 저장 공간이 크다. 공간의 수 9
- 짐벌락 현상이 발생하지 않는다.
- 회전 보간이 불가능하다.
- 직관적이지 않다.
- 사원수
- 저장 공간이 작다. 공간의 수 4
- 짐벌락 현상이 발생하지 않는다.
- 회전 보간이 임의의 축에 가능하다.
- 직관적이지 않다.
16-1 실습
자유로운 3차원 회전의 구현
정리
- 사원수의 대수 구조를 설명
- 사원수를 활용해 3차원 공간의 회전에 사용되는 수학