Platform SDK: DirectX

ID3DXMatrixStack::RotateAxisLocal

ID3DXMatrixStack::RotateAxisLocal メソッドは、算出された回転行列と現在の行列の積を算出する。

HRESULT RotateAxisLocal(
  const D3DXVECTOR3* pV,
  float angle
); 

パラメータ

pV
軸の角度を指定する D3DXVECTOR3 構造体へのポインタ。
angle
回転角度 (ラジアン単位)。角度は、回転軸から原点に向かって時計回りに計測される。

戻り値

成功すれば S_OK を返し、失敗すれば D3DXERR_NULLPOINTER を返す。

注意

このメソッドは、算出された回転行列に現在の行列を積算する。これは、指定した軸に対して反時計回りに指定した角だけ回転させる (回転は、オブジェクトのローカル原点を中心として行われる)。

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

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以上が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 7.0 が必要。
  ヘッダー : d3dxmath.h で宣言。
  ライブラリ : d3dx.lib を使用。

参照

ID3DXMatrixStack::RotateAxisID3DXMatrixStack::RotateYawPitchRollID3DXMatrixStack::RotateYawPitchRollLocal