DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 변환 행렬 3D 변환   [목차열람] [주소복사] [슬롯비우기]
3D 변환
 
Microsoft DirectX 9.0

3D 변환


3D 그래픽스를 처리하는 애플리케이션에서는, 지오메트리 변환을 사용해 다음 일이 생긴다.

4 × 4 행렬을 사용해, 임의의 점 (x, y, z)을 다른 점 (x', y', z')에 변환 할 수 있다.

수학적인 식

(x, y, z)과 행렬에 다음의 조작을 실행해 점 (x', y', z')을 생성한다.

수학적인 식

가장 일반적인 변환은, 평행이동·회전·스케일링이다. 이러한 효과를 생성하는 행렬을 조합해 단일의 행렬을 생성 해, 몇개의 변환을 동시에 계산할 수 있다. 예를 들어, 일련의 점을 평행이동 해 회전시키는 단일의 행렬을 생성 할 수 있다. 더 자세한 정보는, 「행렬 연결」을 참조할것.

행렬은, 행과 열의 순서로 기술한다. 정점을 각 축으로 대해 균일하게 스케일링 하는 (한결같은 스케일링이라고 부른다) 행렬은, 수학적으로는 다음과 같이 표기된다.

수학적인 식

C++ 의 경우, Microsoft® Direct3D® 에서는,D3DMATRIX 구조체를 사용해 행렬을 2 차원 배열로서 선언한다. 다음 예는 한결같은 스케일링을 실시하는 행렬로서 기능하도록(듯이) D3DMATRIX 구조체를 초기화하는 방법을 나타내고 있다.

// In this example, s is a variable of type float.

D3DMATRIX scale = {
    s,               0.0f,            0.0f,            0.0f,
    0.0f,            s,               0.0f,            0.0f,
    0.0f,            0.0f,            s,               0.0f,
    0.0f,            0.0f,            0.0f,            1.0f
};


© 2002 Microsoft Corporation. All rights reserved.
↑TOP