0

画面の中央から光線を当てて、オブジェクトとの衝突をチェックしようとしています。

レンダリングするとき、私はこれらの呼び出しを使用してカメラをセットアップします。

GL11.glRotated(mPitch, 1, 0, 0);
GL11.glRotated(mYaw, 0, 1, 0);
GL11.glTranslated(mPositionX, mPositionY, mPositionZ);

ただし、レイの作成に問題があります。これは私がこれまでに持っているコードです:

ray.origin = new Vector(mPositionX, mPositionY, mPositionZ);
ray.direction = new Vector(?, ?, ?);

私の質問は、疑問符のスポットに何を入れるべきかということです。つまり、ピッチとロールから光線の方向を作成するにはどうすればよいですか?

4

1 に答える 1

0

私はつい最近、あなたの質問と似ていない質問に答えました。だから私はあなたがこれを読むことをお勧めします:点と角度からの3D座標

これはあなたの質問にも当てはまりますが、点だけではなく光線が必要なだけです。点は原点からの変位ベクトルと見なすことができ、光線は次のように定義されることを思い出してください。

 r(t) = v*t + s

あなたの場合、sはカメラの位置でありv、カメラの位置に対する点になります。あなたは残りを把握します(または、まだ不明な点がある場合は質問してください)。

于 2011-11-21T07:39:32.480 に答える