Vector3 クラス内に get_angle 関数を作成しましたが、問題があります。
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);
}
ここで悪いのはおそらく私の数学です。