我在 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);
}
这可能是我的数学不好。