Как построить геодезическую линию между двумя точками? Привет тостер, корплю над вопросом пару месяцев.
Есть сфера в начале координат, тоесть 0,0,0
На ней две точки заданные в сферических и декартовых координатах(меши к ним привязаны).
Необходимо построить геодезическую прямую(кратчайшее расстояние между точками на сфере.
Логично что для отрисовки линии нужны промежуточные точки.
Пытался применить тригонометрию и сделать формулу с шагом, но рогалики не заработали.
Подскажите способ отрисовки этой линии либо алгоритмом либо костылём из движка Unity, заранее премного благодарю.

21 Авг 2019 в 06:05
165 +1
0
Ответы
1

Для построения геодезической линии между двумя точками на сфере можно воспользоваться формулой расстояния по величине угла между двумя точками на сфере.

Преобразуйте сферические координаты точек в декартовы координаты x,y,zx, y, zx,y,z с помощью следующих формул:
x = r sinφφφ cosθθθ y = r sinφφφ sinθθθ z = r * cosφφφ

Вычислите угол между двумя точками с помощью формулы:
angle = arccos(x1<em>x2+y1</em>y2+z1∗z2)/(r2)(x1 <em> x2 + y1 </em> y2 + z1 * z2) / (r^2)(x1<em>x2+y1</em>y2+z1z2)/(r2)

Разделите угол на шаг, чтобы получить количество промежуточных точек. Например, если у вас есть угол в радианах и шаг в радианах/шаг, то количество промежуточных точек будет angle / step.

Для каждой промежуточной точки вычислите ее новые координаты с помощью формул:
x_new = r sinφ1φ1φ1 cosθ1+t<em>Δθθ1 + t <em> Δθθ1+t<em>Δθ y_new = r sinφ1φ1φ1 sinθ1+t</em>Δθθ1 + t </em> Δθθ1+t</em>Δθ z_new = r * cosφ1φ1φ1

Где t - номер промежуточной точки от0доколичествапромежуточныхточекот 0 до количества промежуточных точекот0доколичествапромежуточныхточек, Δθ - шаг угла между точками.

Постройте линию, соединяющую все промежуточные точки.

Это алгоритм для построения геодезической линии между двумя точками на сфере. Надеюсь, это поможет вам решить вашу проблему. Если у вас есть дополнительные вопросы, не стесняйтесь обращаться.

20 Апр 2024 в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир