ID3DXMATRIXStack::RotateAxis 方法 (D3dx9math.h)

注意

D3DX 实用工具库已弃用。 建议改用 DirectXMath 以及 GitHub 中的此标头。

相对于世界坐标空间) 绕任意轴旋转 (。

语法

HRESULT RotateAxis(
  [in] const D3DXVECTOR3 *pV,
  [in]       FLOAT       Angle
);

参数

pV [in]

类型: const D3DXVECTOR3*

指向任意旋转轴的指针。 请参阅 D3DXVECTOR3

Angle [in]

类型: FLOAT

任意轴的旋转角度(以弧度为单位)。 沿任意轴朝原点方向观察时,将逆时针测量角度。

返回值

类型: HRESULT

如果该方法成功,则返回值D3D_OK。 如果方法失败,则可以D3DERR_INVALIDCALL返回值。

备注

此方法使用计算的旋转矩阵将旋转添加到矩阵堆栈,如下所示:

D3DXMATRIX tmp;
D3DXMatrixRotationAxis( &tmp, pV, angle );
m_stack[m_currentPos] = m_stack[m_currentPos] * tmp;

由于旋转是向右乘到矩阵堆栈的,因此旋转相对于世界坐标空间。

要求

要求
标头
D3dx9math.h

D3dx9.lib

另请参阅

ID3DXMATRIXStack

D3DXMatrixRotationAxis

ID3DXMATRIXStack::RotateAxisLocal

ID3DXMATRIXStack::RotateYawPitchRoll

ID3DXMATRIXStack::RotateYawPitchRollLocal