OpenGLスレ Part11
..
239:デフォルトの名無しさん
07/07/20 16:00:04
>238
改めて考えてみたら、glMultMatrixを使うのは無駄多いかも。
要するにz軸(0,0,1)を任意の方向(x,y,z)に向けられればいいわけだから・・・
Vz=(0,0,1)→V=(x,y,z)
回転軸Vr(rx,ry,rz)は
Vr = Vz x V (外積)
回転角度aは
a = arccos(Vz・V) (・は内積、Vは単位ベクトルとする)
このVrとaが、そのままglRotateの引数に使える、の、かな。
Vz = (0,0,1)を入れて具体的に計算すると、
Vr = (-y, x, 0)
a = arccos(z)
これを、速度ベクトル一個ずつに対応して保存しておけば、
描画するときにglRotate(a, Vr.x, Vr.y, Vr.z)でいけるはず。
ただしGLの角度表現はradじゃなく度なので注意。
あとV(x,y,z)がz軸に平行なときは計算が別になるけど、ま、それは分かるでしょ。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4355日前に更新/177 KB
担当:undef