Как рассчитать тупой угол между двумя векторами? - PullRequest
3 голосов
/ 06 октября 2009

Как рассчитать тупой угол между двумя векторами, если заданы оба вектора и ось x. Первый вектор может быть принят за ось х. мы можем получить острый точечный продукт и acos.

Ответы [ 2 ]

4 голосов
/ 06 октября 2009

Перед применением acos, проверьте, является ли точка продукта отрицательным. Если отрицательный, угол тупой:)

Кроме того, поскольку у acos диапазон от 0 до pi, все будет хорошо, если вы не хотите отражать углы (> pi)

0 голосов
/ 26 июня 2014

Для правильного определения угла необходимо использовать как точечные, так и перекрестные произведения. Угол между векторами u и v равен

||atan2(s,c)||
where `s = ||u X v||`  (magnitude of the cross product)
and `c = u.v`        (dot product)

и atan2 - 4-квадрантная обратная функция загара

и ||*|| обозначает величину (норма).

Это всегда будет возвращать угол от 0 до 180 градусов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...