Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- CPU
- 세팅
- 코딩
- DESC
- DirectXTK
- engine
- 동기화
- 전처리문
- 프로그래밍
- GPU
- 다이렉트 초기화
- swapchain
- C++
- Input Assembler
- DirectX
- UE4
- RenderTargetView
- CommandList
- Direct Init
- 다중표본화
- 다이렉트X 튜토리얼
- 다이렉트X
- Direct3D
- 게임수학
- Direct3D Init
- C언어
- DirectX12
- vertex
- c
- View
Archives
- Today
- Total
목록Spherical to Cartesian coordinates (1)
비타Cpp
원점을 기준으로 회전하는 카메라
카메라의 이동 회전 방식 중에 중심점으로부터 일정 거리를 반지름으로 하여 구를 그리며 이동하는 방식이 있다. 여기서 카메라가 바라보는 방향은 쉽게 중심점 - 카메라 위치의 단위 벡터를 이용하면 된다. 하지만 카메라의 위치는 조금 생각을 해봐야 한다. 여기서 필요한것은 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)$$ 이러한 공식이 나오는 풀이과정은 아래 그림을 보면 알 수 있다.
DirectX12/게임 수학
2021. 10. 17. 16:31