/* 簡単なプログラムをウプしよう */at GAMEDEV /* 簡単なプログラムをウプしよう */ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト68:名前は開発中のものです。 02/07/05 14:37 D3DXQUATERNION q1,q2, qi1,qi2;//逆クオータニオン //dthetaだけaxisに対して回転 D3DXQuaternionRotationAxis(&q1,&axis1,dtheta1); D3DXQuaternionRotationAxis(&q2,&axis2,dtheta2); //逆クォータニオンを設定 D3DXQuaternionInverse(&qi1,&q1); D3DXQuaternionInverse(&qi2,&q2); //元のカメラの位置ベクトル成分を持つクォータニオン D3DXQUATERNION qPos = D3DXQUATERNION(vCameraPos.x,vCameraPos.y,vCameraPos.z,0.0f); D3DXVECTOR3 vNewPos1,vNewPos2; //それぞれの軸についてカメラの位置を回転させたものを求めて D3DXQUATERNION qNewPos1 = q1*qPos*qi1; D3DXQUATERNION qNewPos2 = q2*qPos*qi2; //ベクトルとして合成 vNewPos1 = D3DXVECTOR3(qNewPos1.x,qNewPos1.y,qNewPos1.z); vNewPos2 = D3DXVECTOR3(qNewPos2.x,qNewPos2.y,qNewPos2.z); //正規化 D3DXVec3Normalize(&vCameraPos,&(vNewPos2 + vNewPos1)); //元の大きさを持たせる vCameraPos*= Dist; //変換行列を作成、IDirect3DDeviceに与える ApplyNewCameraPosition(); } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch