>>649
姿勢を表す3軸の単位ベクトル(dx,dy,dz)を持たせておいて、
これらのベクトルで任意軸回転をすればよいかと思います。

// 初期化
dx = D3DXVECTOR3( 1,0,0 );
dy = D3DXVECTOR3( 0,1,0 );
dz = D3DXVECTOR3( 0,0,1 );

float r; //回転させる角度
D3DXQUATERNION q;
D3DXMATRIX m;
D3DXVECTOR3 v;

// Y軸回転の場合
D3DXQuaternionRotationAxis( &q, &dy, r ); //クォータニアンを生成する
D3DXMatrixRotationQuaternion( &m, &q ); //クォータニアンを回転行列に変換

// 他の2軸を回転・正規化する
D3DXVec3TransformCoord( &v, &dx, &m );
D3DXVec3Normalize( &dx, &v );

D3DXVec3TransformCoord( &v, &dz, &m );
D3DXVec3Normalize( &dz, &v );