共用方式為


XMQuaternionMultiply 函式 (directxmath.h)

計算兩個四元數的乘積。

語法

XMVECTOR XM_CALLCONV XMQuaternionMultiply(
  [in] FXMVECTOR Q1,
  [in] FXMVECTOR Q2
) noexcept;

參數

[in] Q1

第一個四元數。

[in] Q2

第二個四元數。

傳回值

傳回兩個四元數的乘積作為 Q2*Q1

備註

DirectXMath 四元數函數使用 XMVECTOR 4 向量來表示四元數,其中 X、Y 和 Z 元件是向量部分,而 W 元件是純量部分。

結果代表旋轉 Q1,後面接著旋轉 Q2,使其與 XMMatrixMulplity 串連一致,因為此函式通常用來串連代表旋轉 (的四元數,亦即它會傳回 Q2*Q1) 。

此函式會計算與下列虛擬程式代碼相等的 :


XMVECTOR Result;
Result.x = (Q2.w * Q1.x) + (Q2.x * Q1.w) + (Q2.y * Q1.z) - (Q2.z * Q1.y);
Result.y = (Q2.w * Q1.y) - (Q2.x * Q1.z) + (Q2.y * Q1.w) + (Q2.z * Q1.x);
Result.z = (Q2.w * Q1.z) + (Q2.x * Q1.y) - (Q2.y * Q1.x) + (Q2.z * Q1.w);
Result.w = (Q2.w * Q1.w) - (Q2.x * Q1.x) - (Q2.y * Q1.y) - (Q2.z * Q1.z);
return Result;
    

平臺需求

Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 與 Windows SDK for Windows 8。 支援 Win32 傳統型應用程式、Windows 市集應用程式和 Windows Phone 8 個應用程式。

規格需求

需求
目標平台 Windows
標頭 directxmath.h

另請參閱

DirectXMath 連結庫四元數函數