[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/09 10:19 / Filesize : 63 KB / Number-of Response : 199
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

 /* 簡単なプログラムをウプしよう */



1 名前:まだ初心者なの [02/06/27 02:02 ID:HvMYma0g]
比較的規模の小さい
ゲームやアルゴリズムをUPしたり
語り合ったりするスレッドです。
勉強用ですので、言語の選択についてや
ゲームが面白いかどうかの議論は禁止の方向で。

UPする方は使用言語を明記してください。

どうか盛り上がってください。おながいします。おながいします。

67 名前:名前は開発中のものです。 mailto:age [02/07/05 14:32 ID:???]
メタセコイアっぽいマウスによるカメラの制御方法です。
回転にはクォータニオンを使ってます。
void CMouseListener::RotateCameraPosition()
{
int dx = mouseoldx - mousex;
int dy = mouseoldy - mousey;
float dtheta1 = dx*D3DXToRadian(1)/2;
float dtheta2 = dy*D3DXToRadian(1)/2;
D3DXVECTOR3 axis1 = D3DXVECTOR3(0.0f,1.0f,0.0f);
//x-z平面上で見たときの角度を取得
float thetaaxis2 = (float)atan2(-vCameraPos.x,-vCameraPos.z);
//π/4回転させる
D3DXVECTOR3 axis2 = D3DXVECTOR3(cosf(thetaaxis2),0,-sinf(thetaaxis2));

//続く

68 名前:名前は開発中のものです。 mailto:sage [02/07/05 14:37 ID:???]
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();
}

69 名前:68 mailto:sage [02/07/05 14:43 ID:???]
ゴメソ訂正
×//ベクトルとして合成
○//ベクトルとする
です。んでは学校行ってきます






[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<63KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef