관리 메뉴

기억을 위한 기록들

오일러각 (Euler Angles)에 관하여 본문

그래픽스(Graphics)/Game Math

오일러각 (Euler Angles)에 관하여

에드윈H 2022. 5. 10. 22:32

- 3차원 공간 상의 물체가 놓인 방향을 표시하기 위해 스위스 수학자 오일러가 소개한 방법.

 

 

장점 

- x,y,z 각각의 축을 기준으로 얼만큼 회전할 것인지만 알면된다.

 

- 회전 변환 행렬은 최소한 9개(3x3 행렬)의 값을 필요로 하는 반면 오일러 각을 이용하면 단 3개의 값으로 충분하여 메모리 공간을 훨씬 적게 쓰는 장점이 있다. 회전 변환 행렬을 보고 어떤 축을 기준으로 얼마만큼 회전을 했는지 알기가 쉽지 않지만, 오일러 각은 바로 알 수 있으므로 가장 직관적인 방향 표현법이다.

 

- 만약 좌표계에서 한 축만을 기준으로 회전하는 변환들을 조합하는 경우라면 단순히 그축에 해당하는 회전각들을 모두 더하면 된다. 이런 경우 회전의 곱셈보다 훨씬 빠르다.

 

 

단점

- 대표적인건 *짐벌락 ( 어떤 한축에 대해 물리적으로 더 이상 회전할 수 없는 상태, 즉 해당 축에 대한 회전력을 잃은 상태)

- 세가지 각으로 실제로 벡터나 점을 회전 변환을 수행하는 것이 행렬에 비해 굉장히 비효율적

- 오일러 각들의 값만을 가지고 있다면 변환마다 매번 sin,cos 값들을 계산해야해서 결국엔 저장 해야하는 값들은 9개이다.

 

 

요약 : 

 

그래서 보통 게임에서 표현은 오일러 각(x,y,z)로 표현만 하고 실제 계산은 회전행렬을 통해 이루어진다.

 

 

* 짐벌락 현상 참고 :

https://www.youtube.com/watch?v=zc8b2Jo7mno&ab_channel=GuerrillaCG