Я создал функцию get_angle внутри своего класса Vector3, но у меня есть проблема с ним.получить угол между двумя 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);
}
Это, наверное, мои математики, которые здесь плохие.
Мой класс Угол представляет 3 углов от 3D пространстве: тангаж, рыскание и рулон. Я исправил свою проблему. Отправленный вопрос, который он имел в другом посте. –