Compartir a través de


Función D3DXQuaternionMultiply (D3DX10Math.h)

Nota

La biblioteca de utilidades D3DX10 está en desuso. Se recomienda usar DirectXMath en su lugar.

Multiplica dos cuaterniones.

Sintaxis

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

Parámetros

pOut [in, out]

Tipo: D3DXQUATERNION*

Puntero al D3DXQUATERNION que es el resultado de la operación.

pQ1 [in]

Tipo: const D3DXQUATERNION*

Puntero a una estructura D3DXQUATERNION de origen.

pQ2 [in]

Tipo: const D3DXQUATERNION*

Puntero a una estructura D3DXQUATERNION de origen.

Valor devuelto

Tipo: D3DXQUATERNION*

Puntero a una estructura D3DXQUATERNION que es el producto de dos cuaterniones.

Comentarios

El resultado representa la rotación Q1 seguida de la rotación Q2 (Out = Q2 * Q1). Esto se hace para que D3DXQuaternionMultiply mantenga la misma semántica que D3DXMatrixMultiply porque los cuaterniones de unidad se pueden considerar como otra manera de representar matrices de rotación.

Las transformaciones se concatenan en el mismo orden para las funciones D3DXQuaternionMultiply y D3DXMatrixMultiply . Por ejemplo, suponiendo que mX y mY representen las mismas rotaciones que qX y qY, tanto m como q representarán las mismas rotaciones.

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

La multiplicación de cuaterniones no es conmutativa.

El valor devuelto de esta función es el mismo valor devuelto en el parámetro pOut. De esta manera, la función D3DXQuaternionMultiply se puede usar como parámetro para otra función.

Use D3DXQuaternionNormalize para cualquier entrada de cuaternión que aún no esté normalizada.

Requisitos

Requisito Value
Encabezado
D3DX10Math.h
Biblioteca
D3DX10.lib

Consulte también

Funciones matemáticas