반응형
제목 그대로 두 벡터 사이의 각도 구하기 & 각도 제한하기에 대해서 잘 나와있는 곳을 찾아서 링크를 건다.
Clamping Angle of Quaternion Issue
I've got a problem with my clamping of a quaternion for my camera. The code I have clamps the quaternion to the angle I want, but there is an...
www.reddit.com
예제는 유니티로 되어 있기는 하지만 언리얼 등에서도 그냥 따라 사용하면 될 듯 하다.
간단하게 각도 제한하기를 정리해보자면 좌우 / 상하로 나눠서 처리한다.
좌우 계산을 위해 구하고자 하는 방향 벡터를 UpVector를 기준으로 투영시키고 각도를 구한다.
참고로 각도를 구할때는 방향벡터와 UpVector와의 외적을 구해 각도의 부호를 결정한다.
각도를 구하고 나서 해당 각도가 제한될 각도와 비교하여 넘어섰다면 제한해준다.
해당 각도로 Foward 벡터를 이동시켜줄 Quaternion을 구해준다.
상하에 대해서도 같은 처리를 해주는데 전에 구한
Yaw에 대한 Quaternion을 이용하여 회전시키고 투영해준다.
그래서 Pitch에 대한 Quaternion까지 구하고 나서
Foward 벡터를 회전시켜주면 각도가 제한된 벡터를 구할 수 있다!
반응형
'수학 > 선형대수학' 카테고리의 다른 글
선형 대수학 EBook - Immersive Math (0) | 2018.08.18 |
---|---|
그람 - 슈미트(Gram schmidt) 직교화 (0) | 2017.12.21 |
반사 벡터 (0) | 2017.12.15 |
벡터 - 내적 (0) | 2017.12.12 |
프로그래머를 위한 선형대수 - 벡터와 공간 (0) | 2017.10.29 |