DirectX Graphics 프로그래밍 가이드 Direct3D 의 기초지식 3D 좌표계와 지오메트리 3D 좌표계   [목차열람] [주소복사] [슬롯비우기]
3D 좌표계
 
Microsoft DirectX 9.0

3D 좌표계


일반적으로, 3D 그래픽스 애플리케이션에서는 직교좌표계의 왼손 좌표계와 오른손 좌표계의 어느 쪽인지를 사용한다. 어느 쪽의 좌표계에서도, x 축의 정방향은 우측이며, y 축의 정방향은 윗쪽이다. z 축의 정방향은, x 축의 정방향에 왼손 또는 오른손의 손가락을 향해 그것을 y 축의 정의 방향으로 회전한 방향이 된다. 엄지의 방향, 앞 또는 안쪽이, 이 좌표계에서의 z 축의 정방향이다. 다음 그림은 이것들 2 개의 좌표계를 나타내고 있다.

2 개의 좌표계

Microsoft® Direct3D® 는 왼손 좌표계를 사용한다. 오른손 좌표계에 근거하는 애플리케이션을 이식하는 경우는, Direct3D 에 건네주는 데이터에 2 개의 변경을 더할 필요가 있다.

직교좌표의 결정방식에 상당하는 좌표계를 얻어오려면,D3DXMatrixPerspectiveRH 함수 및 D3DXMatrixOrthoRH 함수를 사용해, 투영 변환을 정의한다. 다만, 대응하는 D3DXMatrixLookAtRH 함수를 사용하는 경우는, 뒷면 컬링(Culling)의 순서를 반대로 해, 그 순서로 큐브 맵을 레이아웃 하도록(듯이) 주의 해야 한다.

왼손 좌표계와 오른손 좌표계는 가장 자주(잘) 사용되는 좌표계 시스템이지만, 3D 소프트웨어에서는, 이러한 좌표계 시스템 이외에도 다양한 좌표계가 사용되는 일이 있다. 예를 들어, 3D 모델링 애플리케이션에서는, y 축이 뷰어의 앞 또는 안쪽을 가리켜, z 축이 윗쪽을 가리키고 있는 좌표계가 사용되는 일도 드물지 않다. 이 경우, 오른손 좌표계는, 어느 축 (x, y, 또는 z)의 정방향도 뷰어에 가까워질 방향으로서 정의된다. 왼손 좌표계는, 어느 축 (x, y, 또는 z)의 정방향도 뷰어로부터 멀어질 방향으로서 정의된다. z 축이 윗쪽을 가리키고 있는 왼손 좌표계를 사용한 모델링 애플리케이션을 이식하는 경우는, 이미 설명한 순서에 가세해 정점 데이터를 모두 회전할 필요가 있다.

3D 좌표계로 정의된 개체에 대해 중요한 조작은, 평행이동·회전·스케일링이다. 이러한 기본적인 변환을 조합해 변환 행렬을 생성 할 수 있다. 더 자세한 정보는, 「3D 변환」을 참조할것.

이러한 조작을 조합할 때, 그 결과는 그 조작의 순서에 의존하는 것, 즉 행렬을 곱셈하는 순서가 중요한 것으로 주의한다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP