2014 dxdy logo

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

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


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


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Поворот сферической системы координат
Сообщение07.07.2022, 13:44 


23/09/17
3
Задача: имеется несколько точек на поверхности сферы, их координаты (широта и долгота) известны. Две точки из множества остальных соединены по дуге большого круга. Пусть одна из соединяемых точек: точка №1, вторая точка №2. Сферу поворачивают так, что точка №1 имеет новые координаты (0; 0), то есть находится на пересечении экватора и нулевого меридиана. Точка №2 теперь расположена на экваторе так, что если мысленно перемещаться из точки 1 по дуге большого круга к точке 2 (то есть при перемещении широта не меняется, максимальная долгота перемещения 180 градусов), то это перемещение будет происходить с увеличением долготы (увеличивается восточная долгота). Как найти новые координаты всех точек? Решаема ли эта задача без перехода к декартовой системе координат?

 Профиль  
                  
 
 Re: Поворот сферической системы координат
Сообщение07.07.2022, 13:54 
Аватара пользователя


26/05/12
1694
приходит весна?
golukon в сообщении #1559630 писал(а):
Решаема ли эта задача без перехода к декартовой системе координат?

Формально да. То есть, двух точек на сфере достаточно для триангуляции всех остальных. Затем данные триангуляции нужно будет перевести в координаты новой системы.

Практически же гораздо удобнее пересчитать координаты точек в декартовы, выбрать новый ортонормированный базис (используя координаты ваших точек 1 и 2), обратить матрицу составленную из координат векторов этого базиса для получения матрицы перехода и помножить каждый столбец декартовых координат точек на эту матрицу (спереди). Дальше только пересчитать назад в сферические. Все операции очень простые, выполняются последовательно, так что нигде не запутаешься и не ошибёшься. Плюс, прост и нагляден контроль за точностью расчётов, если вы их делаете на компьютере с числами с плавающей запятой. А это очень даже немаловажный момент.

 Профиль  
                  
 
 Re: Поворот сферической системы координат
Сообщение07.07.2022, 14:37 


23/09/17
3
B@R5uk в сообщении #1559632 писал(а):
golukon в сообщении #1559630 писал(а):
Решаема ли эта задача без перехода к декартовой системе координат?

Формально да. То есть, двух точек на сфере достаточно для триангуляции всех остальных. Затем данные триангуляции нужно будет перевести в координаты новой системы.

Практически же гораздо удобнее пересчитать координаты точек в декартовы, выбрать новый ортонормированный базис (используя координаты ваших точек 1 и 2), обратить матрицу составленную из координат векторов этого базиса для получения матрицы перехода и помножить каждый столбец декартовых координат точек на эту матрицу (спереди). Дальше только пересчитать назад в сферические.

Про триангуляцию раньше не слышал, посмотрю. Что касается перевода в декартовы и обратно: мне кажется, что это затратно по вычислительным ресурсам для такой задачи. Тем более по переводу из сферических в декартовы. Сейчас смотрю формулы перевода из горизонтальной в экваториальную систему координат в астрономии, там как-то через параллактичечкий треугольник переходят из одних координат к другим

 Профиль  
                  
 
 Re: Поворот сферической системы координат
Сообщение07.07.2022, 16:14 
Аватара пользователя


26/05/12
1694
приходит весна?
golukon в сообщении #1559636 писал(а):
Про триангуляцию раньше не слышал, посмотрю.
Ну, это вариант на вскидку. Возможно, есть и другие подходы.

golukon в сообщении #1559636 писал(а):
Что касается перевода в декартовы и обратно: мне кажется, что это затратно по вычислительным ресурсам для такой задачи.
Так не переводите вообще. Работайте с трёхмерными векторами. Будет очень удобно. А если будут накапливаться ошибки округления, то можно их все отнормировать на радиус сферы. Тем более, что расстояние в сферических координатах считается ещё тяжелее, чем переход от системы к системе. По ссылке, кстати, и про точность вычислений не забыли упомянуть.

 Профиль  
                  
 
 Re: Поворот сферической системы координат
Сообщение07.07.2022, 17:00 


23/09/17
3
B@R5uk в сообщении #1559647 писал(а):
Так не переводите вообще. Работайте с трёхмерными векторами. Будет очень удобно. А если будут накапливаться ошибки округления, то можно их все отнормировать на радиус сферы. Тем более, что расстояние в сферических координатах считается ещё тяжелее, чем переход от системы к системе. По ссылке, кстати, и про точность вычислений не забыли упомянуть.


Не понял про работу с векторами. Можете рассказать подробнее?

 Профиль  
                  
 
 Re: Поворот сферической системы координат
Сообщение07.07.2022, 17:02 
Аватара пользователя


26/05/12
1694
приходит весна?
Ну, вы храните ваши точки в виде двух сферических координат, а можно хранить их в виде трёх декартовых. Все расчёты делаются в декартовых координатах и остаются в декартовых. Потому что даже когда вам надо отрисовать что-то на экране, расчёты всё равно делаются в декартовых (если только это не карта поверхности сферы с параллельными и перпендикулярными параллелями и меридианами).

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

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



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

Сейчас этот форум просматривают: Shadow, svv


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

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