Metaverse/게임 수학

오일러 각과 짐벌락

onenewkong 2023. 3. 29. 21:59

오일러 각의 특징

: 3차원 공간의 회전을 지정할 때 직관적인 인터페이스 제공

설정할 값도 세가지뿐이고, 직관적인 표준기저벡터를 회전축으로 사용하므로 회전을 설계하기가 용이함

사용자 입장에서 물체의 회전을 설정할 때 가장 적합

적은 용량으로 3차원 공간의 회전 정보 기록 가능

행렬을 사용해 3차원 공간의 회전을 표현하려면 최소 9개의 실수 데이터가 필요하지만, 오일러 각은 3개의 데이터만 있으면 3차원 공간의 회전을 표현할 수 있음, 이는 트랜스폼 정보를 줄일 수 있어 적은 용량으로 게임 데이터를 관리할 수 있게 도와줌

 

 

짐벌락 현상

ex)

1) z축으로 90 회전 (반시계 방향)

2) x축으로 -90 회전(시계 방향) 

3) y축으로 -45 회전

결과적으로 z축과 y축은 회전을 하는 동안 동일한 회전이 되어 세 개의 축으로 자유롭게 회전하지 못하고 두 개의 축만 회전에 사용됨

 

회전이 제약되는 현상을 짐벌락이라고 함

 

3차원 공간의 회전을 세 번으로 나눠 진행하는 오일러 각 방식을 사용하면, 실시간으로 변화하는 동적인 3차원 회전을 구현할 때 짐벌락 발생할 수 있음

 

짐벌락 현상을 방지하려면 회전의 구현 방식을 바꿔 로드리게스 회전 공식을 사용하거나 사원수를 사용해야 함

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

Mesh와 WireframeRendering  (0) 2023.08.18
오일러 각 문제 해결  (0) 2023.03.29