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 ] 

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



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

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


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

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