В предыдущей статье о базовой тригонометрии для астрологов мы вывели формулы для преобразования сферических координат в декартовы. В этой статье мы познакомимся с уравнениями перевода самих сферических координат из одной системы в другую. Это поможет нам решить поставленную ранее задачу перевода эклиптических координат в экваториальные, что необходимо для расчета первичных дирекций.
Вектор в декартовых координатах
Наш план работы будет таков. Для начала мы преобразуем сферические координаты небесного объекта в декартовы координаты в той же системе (скажем, в плоскости эклиптики) с помощью уравнения (2) из предыдущей статьи.
Далее мы перейдем в новую систему (например из плоскости эклиптики в плоскость экватора) также в терминах декартовых координат. На последнем шаге мы снова переведм декартовы координаты уже в новой системе обратно в сферические углы. Таким образом мы завершим искомое преобразование одних сферических координат в другие.
Для удобства мы введем понятие вектора в декартовых координатах как указателя на объект в привычной системе координат .
Вектор имеет
- начальную точку с координатами
- конечную точку с координатами , которая совпадает с местоположением объекта в пространстве.
Обозначим вектор буквой и запишем его следующем виде:
В этой нотации мы имеем в виду, что вектор имеет протяженность в единиц в направлении оси , протяженность в единиц вдоль оси и единиц вдоль оси .
Вращение системы координат
Что произойдет, если мы повернем саму систему координат на угол в плоскости ?
В исходной системе вектор имеет координаты , а в новой (повернутой) системе он имеет координаты , т.е.
Рассмотрим -ю часть вектора , а именно протяженность . По-сути, это указатель на координату самого вектора. А указатель также является вектором.
Мы можем спроецировать этот указатель (то есть вектор) на оси и . Мы помним из формулы (1) предыдущей статьи, что эти проекции равны и . Итак, мы можем написать:
Таким же образом
Мы не меняли ось , поэтому . Собрав все вместе, мы имеем:
Это означает, что:
Для обратного преобразования нам нужно заменить на . По-сути, в обратном преобразовании мы поворачиваем вторую систему на такой же угол, но в обратном направлении, чтобы получить исходную систему координат. Это дает нам:
Синус и косинус двух углов
Из , в частности, следует одно жизненно важное уравнение, которое мы будем регулярно использовать. Обозначим сферическую координату вектора (его долготу) в плоскости новой системы координат через (см. рисунок 3 ниже), т.е.
Тогда сразу получаем уравнения для синуса и косинуса суммы двух углов:
Матрицы вращения
Давайте вернемся к формуле и перепишем ее в более явной форме:
У нас есть повторяющаяся схема — мы последовательно умножаем координаты , и на определенные коэффициенты в первой, второй и третьей строках, а затем суммируем произведения этих умножений.
Мы можем отдельно перечислить эти коэффициенты для 1-й, 2-й и 3-й строк в квадратных скобках и выразить ту же идею более кратко:
Это более удобное представление этих трех уравнений, и эта компактность облегчит нам жизнь. Мы произносим это так: если мы умножим координаты , и на эти коэффициенты, то получим новые координаты вектора в системе координат, повернутой на угол .
Эти коэффициенты обычно называются матрицей вращения, и выражение выше представляет собой умножение координат на матрицу вращения, что дает новые координаты .
Для вращения в плоскости на угол мы используем следующую матрицу вращения
— это так называемая матрица вращения в плоскости , т. е. двумерный массив коэффициентов, на которые мы умножаем координаты вектора, чтобы перейти из исходной системы координат в новую (повернутую).
Для обратного преобразования мы меняем на , что дает инвертированную (то есть обратную) матрицу, симметричную оригинальной:
Таким же образом матрицы вращения в плоскостях и имеют вид:
Последовательные вращения
Эта краткая нотация для преобразования декартовых координат через матрицы вращения дает нам значительное преимущество. Теперь мы можем эффективно выполнять несколько последовательных поворотов в разных плоскостях и выражать их с помощью простой формулы.
Предположим, мы хотим повернуть систему координат на угол в плоскости , а затем повернуть новую систему координат на угол в плоскости . Сначала мы получаем координаты вектора после вращения на угол :
Затем мы поворачиваем этот вектор на угол во второй плоскости:
Мы можем выразить это еще проще:
Как видите, мы просто умножаем матрицы в нужной последовательности. Здесь первая матрица поворота, согласно , имеет вид:
А вторая матрица поворота, согласно , имеет вид:
Как видите, мы можем очень компактно записывать преобразования из одной системы координат в другую.
Вуаля, у нас есть декартовы координаты исходного вектора в новой системе координат. На финальном шаге нам осталось лишь преобразовать новые декартовы координаты в сферические углы (в уже новой, повернутой, системе координат).
Для этого воспользуемся уравнением (2) из предыдущей статьи. И мы получим новые сферические координаты. Это решает поставленную нами в прошлой статье задачу.
Подведем итоги
Теперь вы знакомы с векторными объектами в декартовых координатах и с матрицами вращения.
Вы также знаете, что общий подход к преобразованию одной сферической системы в другую состоит из 3 шагов.
Шаг 1
Вам надо выразить сферические углы исходной системы координат в декартовы координаты с помощью уравнения (2) из предыдущей статьи. Мы обозначаем декартовы координаты вектора через .
Шаг 2
Затем вам надо повернуть систему координат на угол , а затем на вдоль нужных осей с помощью матриц вращения. Вы получите координаты того же вектора, только в рамках новой (повернутой) системы координат:
Шаг 3
Наконец, выразите новые декартовы координаты в терминах сферические углов с помощью уравнения (2) из предыдущей статьи. Вы завершаете преобразование. Задача решена.
