#javascript #openlayers
#javascript #открытые слои
Вопрос:
Я использую openlayers версии 6.5.
Я хочу найти угол между двумя линиями или тремя точками.
Есть ли библиотека для ссылки или как ее получить?
введите описание изображения здесь
Соответствующая библиотека найдена не была. Должен ли я решить это математически?
Ответ №1:
Вы можете использовать точечное произведение:
Скалярное произведение двух нормализованных векторов равно углу между ними. В общем случае, когда векторы не нормализованы, уравнение выглядит следующим образом:
cos(a^b) = dot(a,b) / length(a) / length(b)
Таким образом:
a^b = arccos(dot(a,b) / length(a) / length(b))
Или:
a^b = arccos( (a.x*b.x a.y*b.y a.z*b.z) / sqrt(a.x^2 a.y^2 a.z^2) / sqrt(b.x^2 b.y^2 b.z^2) )