- 개요
3차원 카메라는 2차원 카메라와 다르게 이동에 더해 회전 기능을 추가로 부여한다

위와 같이 월드 공간의 원점에 카메라를 배치하고 카메라가 바라보는 방향에 게임 오브젝트가 위치한다고 가정한다
이 상황에서 카메라의 x축과 y축으로 최종 화면을 생성한다고 설정하면 화면의 x축 방향은 왼쪽을 향하게 된다
위와 같은 상황은 보편적으로 인지하는 2차원 데카르트 좌표계와 다르므로 수정해야 한다

수정은 다음과 같이 수행한다
카메라가 만들어내는 화면의 x축이 왼쪽을 향하도록 y축으로 180° 회전시켜 뷰 공간을 구성한다
이런 경우 뷰 공간의 z축은 카메라의 뒤를 향하고, 뷰 공간의 x축과 z축은 월드 공간의 x축과 z축의 반대 방향을 가진다
- 뷰 공간 변환 행렬
위와 같은 체계를 지닌 뷰 공간으로 변환하는 뷰 행렬을 설계한다
카메라는 크기 개념이 없으므로 회전 변환과 이동 변환으로만 구성한다

위와 같이 카메라의 Transform에서 위치 값과 로컬 축의 값을 지정할 수 있다

최종적으로 카메라의 Transform의 구성요소를 사용하여 이동 변환 행렬과 회전 변환 행렬을 정의할 수 있다

크기 변환 행렬 S를 제외한 카메라의 모델링 행렬 M은 위와 같이 정의할 수 있다
1) 뷰행렬의 연산 - 초기

모델링 행렬의 역행렬은 뷰 행렬이 되며, 위와 같이 전개된다

뷰 행렬의 결과값을 풀어쓰면 위와 같이 표현할 수 있다
마지막 4열은 내적을 사용하여 간략하게 정리하였다
2) 뷰 행렬의 연산 - 최종

최종 뷰 행렬은 초기 뷰 행렬에서 y축으로 180° 회전한 구조이다
따라서 x축과 z축의 기저를 반전시켜야 한다
'수학 > 이득우의 게임 수학' 카테고리의 다른 글
| 회전 보간의 계산 (0) | 2026.03.18 |
|---|---|
| 오일러 각의 특징 (0) | 2026.03.18 |
| 3차원 모델행렬 (0) | 2026.02.25 |
| 3차원 회전행렬의 유도 (0) | 2026.02.25 |
| 오일러 각 (0) | 2026.02.11 |