【初心者】スレを立てる前にココで質問を【Part21】
■ このスレッドは過去ログ倉庫に格納されています
0700名前は開発中のものです。
2010/09/09(木) 22:36:52ID:r7WwTLGB姿勢を表す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 );
■ このスレッドは過去ログ倉庫に格納されています