본문 바로가기

게임수학

사원수(Quaternion) 이란?

- 사원수란?

3D에서 회전을 표현할때 행렬 대신 사용한다. float 4개의 값으로 이루어진 복소수 체계이다.

 

행렬(Matrix)로 짐벌락을 발생시키지 않기 위해 축들을 같이 모두 회전시켰다.

그러나 사원수를 사용한다면 짐벌락 걱정을 덜 수 있다.(But 사원수도 짐벌락이 발생할수도 있다.)

 

비교항목 행렬 사원수
데이터량 float 16개 float 4개
연산 속도 float 곱셈 16 x 16회 float 곱셈 16회
결과의 질 짐벌락 등 오류 발생 최단호 보간으로 오류발생률이 적음

- 연산속도 및 메모리 절약이 가능하며 짐벌락 등 오류 발생확률도 적다.

 

 

- 사원수의 정의

사원수는 4차원 복소수공간(Complex Space)의 벡터로서 다음과 같이 나타냄

(i, j, k부분은 허수성분임)

 

q = <w, x, y, z> = w + xi + yj + zk

 

사원수를 q = s + v 형태로 쓰기도 한다. 여기서 s는 q의 w성분에 해당한느 스칼라 값,

v는 q의 x, y, z 성분에 해당하는 벡터 부분이다.

 

q = s + v

 

- 사원수의 특징

사원수의 곱셈은 교환 법칙이 성립하지 않는다.

사원수는 켤레를 갖는다.

단위 쿼터니언을 갖는다.

 

 

참고 사이트

https://showmiso.tistory.com/57

 

[3D 수학] 사원수(Quaternion : 쿼터니언)

1. 사원수(Quaternion : 쿼터니언)란? - 3차원 그래픽에서 회전을 표현할 때, 행렬 대신 사용하는 수학적 개념으로 4개의 값으로 이루어진 복소수(Complex Number) 체계이다. 아래 글에선 사원수와 쿼터

showmiso.tistory.com

 

 

차후 공부해서 업데이트 수정예정....

'게임수학' 카테고리의 다른 글

Refraction(굴절식 -> 스넬의 법칙)  (0) 2022.03.29
삼각함수의 항등식 정리 참고 사이트  (0) 2022.03.16
반사 벡터 ( Reflection Vector )  (0) 2022.03.10
역행렬(Matrix Inverse)  (0) 2022.02.07
LU 분해(LU Decompose)  (0) 2022.02.07