DirectX12/게임 수학
원점을 기준으로 회전하는 카메라
멍C
2021. 10. 17. 16:31
카메라의 이동 회전 방식 중에 중심점으로부터 일정 거리를 반지름으로 하여 구를 그리며 이동하는 방식이 있다.
여기서 카메라가 바라보는 방향은 쉽게 중심점 - 카메라 위치의 단위 벡터를 이용하면 된다. 하지만 카메라의 위치는 조금 생각을 해봐야 한다.
여기서 필요한것은 y축에서의 회전량 phi, x축의 회전량 theta, 마지막으로 반지름(중심점과 카메라의 거리) radius(r)이다.
이 세가지 요소를 이용하여 구하는 카메라의 좌표는 다음과 같다.
$$x' = r\times\sin(phi)\times\cos(theta)\\ y' = r\times\cos(phi)\\ z' = r\times\sin(phi)\times\sin(theta)$$
이러한 공식이 나오는 풀이과정은 아래 그림을 보면 알 수 있다.