0

3D 空間の 2D 平面上に 2 つの座標があり、一方の座標 (ベクトル) を回転させてもう一方の座標に向かわせようとしています。私の垂直軸は y 軸なので、両方の座標が 2 次元平面上で平らに配置されている場合、両方の y 軸が 0 になり、x 座標と z 座標によって位置の長さ/幅が決定されます。飛行機。今、私はそのように角度を計算しています(言語に依存しません):

angle = atan2(z2-z1,x2-x1);

そして、次のように空間で回転/平行移動しています:

pushMatrix();
rotateY(angle);
popMatrix();

ただし、これは機能していないようです。私の計算/プロセスは正しいですか?

4

1 に答える 1

0

私はあなたの質問をよく理解していません(私のコメントを参照してください)が、2つのベクトル間の角度差をラジアンで探している場合は、内積の逆cosを取ります。内積のベクトルは正規化する必要があります。

tan を使用しています。何をしようとしているのか理解できないか、tan の使用が間違っています。

于 2010-02-07T01:27:42.460 に答える