다음을 통해 공유


좌표계(Direct3D 9)

일반적으로 3D 그래픽 애플리케이션은 두 가지 유형의 카티전 좌표계인 왼손 및 오른손을 사용합니다. 두 좌표계에서 양의 x-축은 오른쪽을 가리키고 양의 y-축은 위를 가리킵니다. 왼손이나 오른손 손가락을 양의 x 방향 쪽으로 하고 양의 y 방향으로 구부려서 양의 z-축이 가리키는 방향을 기억할 수 있습니다. 엄지가 가리키는 방향이 해당 좌표계에 대해 양의 z-축이 가리키는 방향입니다. 다음 그림은 이 두 좌표계를 보여 줍니다.

왼손 및 오른손 카티전 좌표계 그림

Direct3D는 왼손 좌표계를 사용합니다. 오른손 좌표계를 기반으로 하는 애플리케이션을 포팅하는 경우 Direct3D에 전달된 데이터를 두 가지 변경해야 합니다.

  • 시스템이 앞쪽에서부터 시계 방향으로 트래버스하도록 삼각형 꼭짓점의 순서를 대칭 이동합니다. 즉, 꼭짓점이 v0, v1, v2일 경우 이를 Direct3D에 v0, v2, v1으로 전달합니다.
  • 세계 좌표 공간을 z 방향으로 -1씩 크기 조정하려면 뷰 매트릭스를 사용합니다. 이렇게 하려면 보기 행렬에 사용하는 D3DMATRIX 구조체의 _31, _32, _33 및 _34 멤버의 기호를 대칭 이동합니다.

오른손잡이 세계에 대한 양을 얻으려면 D3DXMatrixPerspectiveRHD3DXMatrixOrthoRH 함수를 사용하여 프로젝션 변환을 정의합니다. 그러나 해당 D3DXMatrixLookAtRH 함수를 사용하고, 백페이스 컬링 순서를 반대로 하고, 그에 따라 큐브 맵을 배치해야 합니다.

왼손 좌표와 오른손 좌표가 가장 일반적인 좌표계이지만 3D 소프트웨어에 사용되는 다른 다양한 좌표계가 있습니다. 예를 들어, 3D 모델링 애플리케이션에서 x-축이 관찰자 쪽이나 그 반대쪽을 가리키고 z-축은 위를 가리키는 좌표계를 사용하는 것은 드물지 않습니다.

공식적으로 기본 벡터 집합(즉, 좌표계)의 방향은 특정 기본 벡터 집합에 의해 정의된 행렬의 결정자를 계산하여 찾을 수 있습니다. 결정자가 양수이면 기초는 "양수" 지향(또는 오른손잡이)이라고 합니다. 결정자가 음수이면 기초는 "음수" 지향(또는 왼손)이라고 합니다. 결정자가 무엇인지에 대한 설명은 선형 대수 리소스를 참조하세요.

비공식적으로 "오른쪽/왼쪽 규칙"을 사용하여 지정된 기본 벡터 집합이 오른쪽 또는 왼손 좌표계를 형성하는지 확인할 수 있습니다.

3D 좌표계에 정의된 개체에 대해 수행되는 필수 작업은 변환, 회전 및 크기 조정입니다. 이들 기본 변환을 결합하여 변환 매트릭스를 만들 수 있습니다. 자세한 내용은 변환(Direct3D 9)을 참조하세요.

이러한 작업을 결합할 때 결과는 가환성이 없습니다. 매트릭스를 곱하는 순서가 중요합니다.

좌표계 및 기하 도형