1

そのベクトルの最後にある頂点から未知の頂点にベクトルを投影しようとしています。

既知のもの:ベクトルの長さ、開始頂点座標、角度(ヨー、ロール、ピッチ)。不明:ベクトルの終わりで頂点座標を終了します。

2Dでは、次の方法でそれを実現できます。

 Target.X = Source.X + (sin(Facing*DEG2RAD)*Distance);
 Target.Y = Source.Y - (cos(Facing*DEG2RAD)*Distance);

行列はやり過ぎのようです。私は3Dでうまく機能していないものを持っていますが、それは不正確であり、全体的な式の適切な要素のすべてを持っているわけではないと私は信じています。

 Target.Z = Source.Z - (sin(Pitch*DEG2RAD)*Distance);

参照:フェーシング/ピッチは度単位です(円周率/ 180であるDEG2RADを掛けたもの)。

任意/すべての助けをいただければ幸いです。ありがとう。

4

1 に答える 1

2

x座標とy座標を修正する必要があります(x / y平面に投影し直します)。

Target.X = Source.X + Distance * cos(Pitch * DEG2RAD) * sin(Facing * DEG2RAD);
Target.Y = Source.Y - Distance * cos(Pitch * DEG2RAD) * cos(Facing * DEG2RAD);
Target.Z = Source.Z - Distance * sin(Pitch * DEG2RAD);
于 2012-06-19T20:38:35.463 に答える