私はVector3クラス内でget_angle関数を作成しましたが、問題があります。2つの3Dポイント間の角度を取得
Yの角度は完全に細かいです。
ベースベクトルがその上にあるとき(逆が起きているとき)、それが返すピッチ角(X)は目標位置をわずかに上回ります。
間違っている量は、高さの違いによって異なります。
Angle get_angle(const Vector3f& v) const {
return Angle(
math::rad_to_deg(atan2(get_distance(v), v.z - z)) - 90.0f,
math::rad_to_deg(atan2(v.y - y, v.x - x)),
0.0f);
}
おそらく私の数学はここでは悪いです。
を:ピッチ、ヨーおよびロール。 私の問題は解決しました。 問題を別の投稿に掲載しました。 –