이득우의 게임 수학
중간 회전 값은 다음과 같은 선형 보간 식을 사용해 얻을 수 있다.
위 식을 통한 회전 보간(Rotational Interpolation)이 성립하기 위해서는, 두 각의 회전 변환을 곱한 결과가 두 각의 합의 회전 변환과 동일해야 한다.
θ만큼의 Yaw(Y축) 회전을 R(θ)라고 할 때, R(α + β) = R(β)·R(α)가 성립해야 한다.
하나의 축만을 회전할 때는 문제가 없음을 확인했다.
이번에는 θ만큼의 Pitch(X축), Yaw(Y축) 회전을 R(θ)라고 할 때, R(α + β) = R(β)·R(α)가 성립하는지 확인해본다.
오일러 각 방식은 회전 순서에 따라 결과가 바뀌기 때문에, 두 개 이상의 축을 회전할 경우 R(α + β) ≠ R(β)·R(α)임을 확인했다.
- 따라서, 두 축 이상을 회전할 때는 오일러 각 방식을 통해 선형 보간식을 사용할 수 없다.
게임 등에서 캐릭터의 회전은 Yaw(Y축) 회전만 하는 경우가 많기 때문에 오일러 각 방식으로도 회전 보간이 가능하지만, 비행기 조종 같은 2개 이상의 기저 축이 결합된 방식은 오일러 각 방식으로는 회전 보간이 어렵다.
- 이때는 로드리게스 회전 공식이나 사원수를 사용해야 한다.
'게임 수학 > 이득우의 게임 수학' 카테고리의 다른 글
백페이스 컬링(Backface Culling) (0) | 2023.05.10 |
---|---|
외적(Cross product) (0) | 2023.05.09 |
짐벌 락(Gimbal Lock) (0) | 2023.05.07 |
카메라 공간 (0) | 2023.05.06 |
오일러 각(Euler's angle) (0) | 2023.05.05 |