좌표계(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 모델링 애플리케이션에서 y축이 뷰어를 가리키거나 멀리 가리키고 z축이 위로 가리키는 좌표계를 사용하는 것은 드문 일이 아닙니다.

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

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

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

이러한 연산을 결합하면 결과는 가변적이지 않습니다. 행렬을 곱하는 순서가 중요합니다.

좌표계 및 기하 도형