Share via


D3DXQuaternionMultiply 함수(D3dx9math.h)

참고

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

두 개의 쿼터니언을 곱합니다.

구문

D3DXQUATERNION* D3DXQuaternionMultiply(
  _Inout_       D3DXQUATERNION *pOut,
  _In_    const D3DXQUATERNION *pQ1,
  _In_    const D3DXQUATERNION *pQ2
);

매개 변수

pOut [in, out]

형식: D3DXQUATERNION*

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

pQ1 [in]

형식: const D3DXQUATERNION*

원본 D3DXQUATERNION 구조체 에 대한 포인터입니다.

pQ2 [in]

형식: const D3DXQUATERNION*

원본 D3DXQUATERNION 구조체 에 대한 포인터입니다.

반환 값

형식: D3DXQUATERNION*

두 쿼터니언의 곱인 D3DXQUATERNION 구조체에 대한 포인터입니다.

설명

결과는 회전 Q1 뒤에 회전 Q2(Out = Q2 * Q1)를 나타냅니다. 이렇게 하면 D3DXQuaternionMultiplyD3DXMatrixMultiply 와 동일한 의미 체계를 유지합니다. 단원 쿼터니언을 회전 행렬을 나타내는 또 다른 방법으로 간주할 수 있기 때문입니다.

변환은 D3DXQuaternionMultiplyD3DXMatrixMultiply 함수 모두에 대해 동일한 순서로 연결됩니다. 예를 들어 mX 및 mY가 qX 및 qY와 동일한 회전을 나타낸 경우 m과 q는 모두 동일한 회전을 나타냅니다.

D3DXMatrixMultiply(&m, &mX, &mY);
D3DXQuaternionMultiply(&q, &qX, &qY);

쿼터니언의 곱하기는 통근적이지 않습니다.

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

아직 정규화되지 않은 모든 쿼터니언 입력에는 D3DXQuaternionNormalize 를 사용합니다.

요구 사항

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

추가 정보

수학 함수

D3DXMatrixMultiply