다음을 통해 공유


D3DXMatrixTransformation 함수(D3dx9math.h)

참고

D3DX 유틸리티 라이브러리는 더 이상 사용되지 않습니다. 대신 DirectXMath 를 사용하는 것이 좋습니다.

변환 매트릭스를 빌드합니다. NULL 인수는 ID 변환으로 처리됩니다.

구문

D3DXMATRIX* D3DXMatrixTransformation(
  _Inout_       D3DXMATRIX     *pOut,
  _In_    const D3DXVECTOR3    *pScalingCenter,
  _In_    const D3DXQUATERNION *pScalingRotation,
  _In_    const D3DXVECTOR3    *pScaling,
  _In_    const D3DXVECTOR3    *pRotationCenter,
  _In_    const D3DXQUATERNION *pRotation,
  _In_    const D3DXVECTOR3    *pTranslation
);

매개 변수

pOut [in, out]

형식: D3DXMATRIX*

작업의 결과인 D3DXMATRIX 구조체에 대한 포인터입니다.

pScalingCenter [in]

형식: const D3DXVECTOR3*

크기 조정 중심점을 식별하는 D3DXVECTOR3 구조체에 대한 포인터입니다. 이 인수가 NULL이면 IDENTITY Msc 행렬이 주의 수식에 적용됩니다.

pScalingRotation [in]

형식: const D3DXQUATERNION*

크기 조정 회전을 지정하는 D3DXQUATERNION 구조체에 대한 포인터입니다. 이 인수가 NULL이면 IDENTITY Msr 행렬이 주의 수식에 적용됩니다.

pScaling [in]

형식: const D3DXVECTOR3*

크기 조정 벡터인 D3DXVECTOR3 구조체에 대한 포인터입니다. 이 인수가 NULL이면 IDENTITY Ms 행렬이 설명의 수식에 적용됩니다.

pRotationCenter [in]

형식: const D3DXVECTOR3*

회전 중심을 식별하는 D3DXVECTOR3 구조체에 대한 포인터입니다. 이 인수가 NULL이면 Identity Mrc 행렬이 설명의 수식에 적용됩니다.

pRotation [in]

형식: const D3DXQUATERNION*

회전을 지정하는 D3DXQUATERNION 구조체에 대한 포인터입니다. 이 인수가 NULL이면 주의 수식에 ID Mr 행렬이 적용됩니다.

pTranslation [in]

형식: const D3DXVECTOR3*

변환을 나타내는 D3DXVECTOR3 구조체에 대한 포인터입니다. 이 인수가 NULL이면 주의 수식에 ID Mt 행렬이 적용됩니다.

반환 값

형식: D3DXMATRIX*

변환 행렬인 D3DXMATRIX 구조체에 대한 포인터입니다.

설명

이 함수는 행렬 연결이 왼쪽에서 오른쪽 순서로 계산된 다음 수식을 사용하여 변환 행렬을 계산합니다.

Mout = (Msc)⁻1 * (Msr)⁻1 * Ms * Msr * Msc * (Mrc)⁻1 * Mr * Mrc * Mt

여기서

Mout = 출력 행렬(pOut)

Msc = 크기 조정 센터 매트릭스(pScalingCenter)

Msr = 회전 행렬 크기 조정(pScalingRotation)

Ms = 크기 조정 매트릭스(pScaling)

Mrc = 회전 행렬의 중심(pRotationCenter)

Mr = 회전 행렬(pRotation)

Mt = 번역 행렬(pTranslation)

이 함수의 반환 값은 pOut 매개 변수에 반환된 값과 동일합니다. 이러한 방식으로 D3DXMatrixTransformation 함수를 다른 함수의 매개 변수로 사용할 수 있습니다.

2D 변환의 경우 D3DXMatrixTransformation2D를 사용합니다.

요구 사항

요구 사항
헤더
D3dx9math.h
라이브러리
D3dx9.lib

추가 정보

수학 함수

D3DXMatrixAffineTransformation

변환(Direct3D 9)