2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Расстояние между двумя точками на сфере
Сообщение11.05.2008, 22:07 
Аватара пользователя


11/09/07
21
Volgograd
Я решил задачку и вроде бы даже правильно, но не пойму почему почему в нете ответы другие... Помогите пожалуйста!

Дано: широта и долгота 1-ой точки S1 и D1, широта и долгота 2-ой точки S2 и D2, радиус R.
Найти: расстояние L.

p.s. shirota и dolgota, поэтому обозначил этими буквами s и d.

Решение (верное ли?):
Координаты точки сферы параметрически вычисляются так:

$X = \sin S \cdot \cos D$
$Y = \sin S \cdot \sin D$
$Z = \cos S$
где S из [$-\frac \pi 2$; $\frac \pi 2$], D из [$-\pi$, $\pi$].

Вычислив точки P1 и P2 относительно центра сферы, можно найти угол между векторами P1 и P2 с помощью скалярного произведения, причем:

<P1, P2> = |P1| * |P2| * cos(A) = R * R * cos(A)
где A искомый угол.

Таким образом, находя скалярное произведение получим (я его заранее поделю на R^2, чтобы много не писать):

$\cos A = <P_1, P_2> / R^2 = ( X_1 * X_2 + Y_1 * Y_2 + Z_1 * Z_2 ) / R^2 =$
$\sin S_1 \cdot \cos D_1 \cdot \sin S_2 \cdot \cos D_2 + \sin S_1 \cdot \sin D_1 \cdot \sin S_2 \cdot \sin D_2 + \cos S_1 \cdot \cos S_2 =$
$\sin S_1 \cdot \sin S_2 \cdot \left( \cos D_1 \cdot \cos D_2 + \sin D_1 \cdot \sin D_2 \right) + \cos S_1 \cdot \cos S_2 =$
$\sin S_1 \cdot \sin S_2 \cdot \cos {(D_1 - D_2)} + \cos S_1 \cdot \cos S_2$

A найдем через arccos. Расстояние L = A * R.

В итоге получим:

$L = R \cdot \arccos ( \sin S_1 \cdot \sin S_2 \cdot \cos {(D_1 - D_2)} + \cos S_1 \cdot \cos S_2 )$

Верно ли это? Просто я находил другую формулу в нете (такую как тут http://tvsh2004.narod.ru/geo_koor.htm или вот тут http://dxdy.ru/viewtopic.php?t=13182), но не пойму почему там так...

Помогите разобраться пожалуйста!

 Профиль  
                  
 
 
Сообщение11.05.2008, 22:24 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Первое, что бросается в глаза: $z = \sin S$. Проверьте для точки на экваторе: широта равна 0. Если поправите, то должно совпасть (по крайней мере, с первой ссылкой)

P.S. \pi красивее: $\pi$

 Профиль  
                  
 
 
Сообщение11.05.2008, 22:44 
Аватара пользователя


11/09/07
21
Volgograd
Да... И правда... просто видимо я использовал угол между осью Z и вектором на точку P. Как в ссылке на Википедии:
http://ru.wikipedia.org/wiki/Сферическая система координат

А надо между вектором и плоскостью XY :lol: Поэтому-то и формула другая... Тогда уж и вычисления координат надо делать по формулам:

$X = \cos S \cdot \cos D$
$Y = \cos S \cdot \sin D$
$Z = \sin S$

Тогда совпадет вывод с обеими формулами. Спасибо большое за разъяснение, незваный гость :D

P.S. Пи тоже поменял... и правда красивее :roll:

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group