Make Unreal REAL.
article thumbnail
이득우의 게임 수학

 

중간 회전 값은 다음과 같은 선형 보간 식을 사용해 얻을 수 있다.

 

 

위 식을 통한 회전 보간(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
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그