Измерение рассогласования между двумя положениями на небе

Допустим, у меня есть (RA, Dec) две позиции на небе. Я хочу измерить позиционный угол между этими двумя позициями. Другими словами, если бы у меня были декартовы векторы координат для этих двух положений (скажем, [x,y,z]), то я думаю, что позиционный угол PA был бы просто скалярным произведением двух векторов, так что в основном cos(PA). Однако RA и Dec являются сферическими координатами (соответствующими ф и θ соответственно), а не декартовы координаты. Как мне получить cos(PA) между двумя позициями на небе, если у меня есть только их (RA, Dec) вместо [x, y, z]?

https://en.wikipedia.org/wiki/Position_angle

Позиционный угол, обычно обозначаемый аббревиатурой PA, является соглашением для измерения углов на небе в астрономии. Международный астрономический союз определяет его как угол, измеренный относительно северного небесного полюса (NCP), превращающийся в плюс в направлении прямого восхождения. На стандартных (не перевернутых) изображениях это измерение против часовой стрелки относительно оси в направлении положительного склонения.

Одним из способов было бы использовать ваш точечный продукт! Преобразуйте каждую позицию в единичный вектор, используя н знак равно с о с ( ф ) с о с ( θ ) Икс ^   +   с я н ( ф ) с о с ( θ ) у ^   +   с я н ( θ ) г ^ тогда косинус угла между ними будет их внутренним произведением. И кстати, Сферическая Астрономия Смарта заархивирована!
Астрономы обычно используют α для прямого восхождения и дельта для склонения. Также вы, кажется, описываете угловое разделение ; позиционный угол это что-то другое.
@MikeG Извините за путаницу, я говорю об угле положения, а не об угловом разделении / расстоянии. Позиционный угол — это угол вектора, направленного от одного (RA, Dec) к другому (RA, Dec), обычно измеряемый к востоку от севера. Угловое разделение рассчитать намного проще.
@Fattie, посмотри мой предыдущий ответ, извини за путаницу. Я говорю об позиционном угле, а не об угловом разделении.
@uhoh Большое спасибо, вы не знаете, есть ли более свежая версия/объяснение этого? Я не могу найти вашу точную формулу в главе 2 этой книги. Кроме того, используя что-то вроде астропии в Python, я могу напрямую вычислить угол положения от одного (RA, Dec) до другого (RA, Dec). После этого будет ли cos(PA) эквивалентен cos(angle), который я получаю из вашего подхода?
@quantumflash Я думаю, что лучше подождать, пока кто-нибудь опубликует правильный ответ с оптимальными уравнениями. Если вы нашли их в Smart, вы можете опубликовать ответ на свой вопрос, это прекрасно работает в Stack Exchange. Вы также можете выполнить поиск на этом сайте, чтобы узнать, есть ли другие ответы с уравнениями. Проблема со сферическим триггером заключается в том, что некоторые формы уравнений, хотя и правильны математически, ломаются, когда вы используете их для вычислений из-за нулей в знаменателе, поэтому лучше использовать рекомендуемую формулировку.
@RobJeffries К сожалению, я не могу отредактировать свой комментарий, чтобы изменить «преобразовать в» на «выразить как», но вектор нормали, безусловно, может указывать на координату на небесной сфере.
ОП, я ценю ссылку на идеи Википедии о том, что астрономы, по-видимому (шутка), подразумевают под «позиционным углом». это полный психоз - астрономы чокнутые :) Не то, чтобы, кроме этой проблемы, как я полагаю, указал Р. Джеффрис, ваше последнее предложение не анализируется - RA-Dec совершенно не связан с XYZ. (Если вы не имеете в виду «на единичной сфере»? или что-то в этом роде.)
Я думаю , что могу знать, что вы хотите: между двумя кватернионами q' = q-1q2 - это вращение, которое вращает вас от q1 до q2 .. это так ???
Имейте в виду, возможно, вам нужен угол проекции второго, вдали от проекции севера (?), на нормальную плоскость первого . Может ли это быть?! (вещь с "окуляром" в вики-статье меня пугает!)
@RobJeffries Я думаю, что есть связь между [RA, Dec] и xyz - я думаю, что цель RA, Dec - спроецировать xyz на двухмерное небесное небо. Я предполагаю, что другой способ выразить это так: могу ли я просто сделать скалярное произведение двух векторов (RA, Dec), и даст ли это мне позиционный угол (к востоку от севера)?
@Fattie да, точно, (RA, Dec) - это 2D-координаты на небесном небе после того, как вы проецируете 3D xyz на небесную сферу. В принципе, если бы у вас было что-то вроде красного смещения или расстояния, вы могли бы объединить это с (RA, Dec), чтобы получить трехмерную систему, в которой красное смещение или расстояние дает вам радиальную составляющую сферической системы координат.
@quantumflash, однако небесная сфера не находится на фиксированном расстоянии .
таким образом, «я думаю, что существует связь между [RA, Dec] и xyz — я думаю, что смысл RA, Dec в том, чтобы спроецировать xyz на двумерное небесное небо» либо это, к сожалению, абсолютно бессмысленно , либо некоторые общепринятые астрономы используют соглашения, к которым я не причастен.
Вы имеете в виду, каков угол между меридианом и большим кругом, соединяющим точки А и В? Голосование за закрытие как неясное, пока это не будет убрано.
FWIW @RobJeffries, обратите внимание на комментарий человека под ответом - я тоже думаю, что это может быть угол между двумя большими кругами для трех соответствующих точек.

Ответы (3)

Предполагая, что вы имеете в виду угол между линией меридиана, проходящей через точку А, и большим кругом, проходящим через точки А и В, тогда все выглядит примерно так.

Определить векторы из начала координат в A и B, предполагая, что они лежат на единичной сфере, так что Икс А знак равно потому что дельта А потому что ф А , у А знак равно потому что дельта А грех ф А и г А знак равно грех дельта А и аналогично для B. Здесь ф относится к прямому восхождению и дельта является склонением.

Рассматриваемые большие круги определяют плоскости, проходящие через начало координат. Нормаль к плоскости, определяемой OAB, задается векторным произведением н 1 знак равно А × Б . Точно так же большой круг, проходящий через O, A и NCP ( 0 , 0 , 1 ) имеет нормальное значение н 2 знак равно А × ( 0 , 0 , 1 ) знак равно ( у А , Икс А , 0 ) .

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

потому что θ знак равно н 1 н 2 | н 1 | | н 2 | знак равно потому что ф А ( у А г Б у Б г А ) + грех ф А ( Икс А г Б Икс Б г А ) | А × Б |

Вторая плоскость должна проходить через NCP, исходную точку и точку A.
@MikeG Думаю, это все.
если это не получает одобрения, я не знаю, что делает! :)

Позиционный угол P тела ( α 1 , дельта 1 ) относительно другого тела ( α 2 , дельта 2 ) можно рассчитать из

т а н ( п ) знак равно с я н ( Δ α ) с о с ( дельта 2 ) т а н ( дельта 1 ) с я н ( дельта 2 ) с о с ( Δ α )
куда Δ α знак равно α 1 α 2 . Если знаменатель отрицательный, позиционный угол лежит в диапазоне от 90 до 270 градусов.

Ссылка: Жан Меус, Астрономические алгоритмы, второе издание,

Процедура IDL POSANG использует аналогичную формулу, ссылаясь на Смарт.
Может ли кто-нибудь проверить, дает ли мой рецепт ту же самую формулу? Я подозреваю, что да.

Во-первых, следует отметить, что позиционный угол определяется не просто «двумя позициями». Начальная точка отличается от конечной точки, что приводит к разнице в 180 , в зависимости от того, какой из них первый.

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

Алгебра за словами начинается с определения единичного вектора/координат, которые определяют начальную точку:

н ^ 0 знак равно [ потому что α 0 потому что дельта 0 грех α 0 потому что дельта 0 грех дельта 0 ] ,
с вашей конечной позицией, принимающей ту же форму с 0 1 . Ортографическая проекция на любой вектор — это просто процесс проецирования компонента вектора в направлении н ^ 0 . Стандартная формула для этого
(1) в знак равно в н ^ 0 ( в н ^ 0 ) .

В принципе, вы можете применить уравнение (1) численно с в как Северный полюс, а затем как н ^ 1 , то скалярное произведение между нормализованными результатами даст вам позиционный угол.

Однако делать это таким образом, вероятно, является ошибкой. Смотрите, большинство положений в астрономии, н ^ 0 и н ^ 1 , будут разделены небольшим углом, поэтому уравнение (1) сильно пострадает от потери значимости . Вот почему рекомендуется продолжить вывод, чтобы вывести формулу, которая не имеет этой проблемы.

Изучение структуры н ^ 0 стоит сделать, потому что это значительно упростит алгебру. Это то, что вы получите, если начнете с Икс -направленный единичный вектор, Икс ^ , вращаться вокруг у -ось по дельта 0 , а затем повернуть вокруг г -ось по α 0 . С этой точки зрения, нахождение двух векторов, перпендикулярных н ^ 0 что нам нужно, довольно просто — просто примените те же матрицы вращения к у ^ и г ^ . Другими словами, вы можете прочитать их из столбцов матрицы вращения.

р знак равно [ потому что α 0 грех α 0 0 грех α 0 потому что α 0 0 0 0 1 ] [ потому что дельта 0 0 грех дельта 0 0 1 0 грех α 0 0 потому что α 0 ] (2) знак равно [ потому что α 0 потому что дельта 0 грех α 0 потому что α 0 грех дельта 0 грех α 0 потому что дельта 0 потому что α 0 грех α 0 грех дельта 0 грех дельта 0 0 потому что дельта 0 ] .
Я выбрал, как применять знаки к синусоидальным функциям в двух матрицах вращения, чтобы первый столбец совпадал н ^ 0 .

Назовем второй столбец (2) Е ^ , а третий столбец Н ^ . Обратите внимание, что если мы вращаем стандартный набор Икс - у осей на 90 градусов против часовой стрелки, то Икс -ось соответствует северу и у на восток. Таким образом, мы можем использовать стандартную формулу для двумерной компоненты вектора и его полярного угла, если отождествим н ^ 1 Н ^ как Икс -компонент и н ^ 1 Е ^ как у . Эта формула

п знак равно атан2 ( у , Икс ) (3) знак равно атан2 ( грех дельта 1 потому что дельта 0 грех дельта 0 потому что дельта 1 потому что ( α 1 α 0 ) , потому что дельта 0 грех ( α 1 α 0 ) ) .

Так как потому что дельта > 0 для всех склонений можно было бы сделать формулу более похожей на стандартную из учебников. Мой собственный инстинкт состоит в том, чтобы избегать использования загар дельта потому что она расходится вблизи полюсов. Эта формула будет работать для всех α и дельта , пока две точки различны. Осталось только повозиться с Икс -подобный аргумент, чтобы заставить его вести себя хорошо, численно, когда точки находятся рядом друг с другом. Для этого используйте грех дельта 1 потому что дельта 0 знак равно грех ( дельта 1 дельта 0 ) + грех дельта 0 потому что дельта 1 и 1 потому что ( α 1 α 0 ) знак равно 2 грех 2 ( α 1 α 0 2 ) получить

(4) п знак равно атан2 ( грех ( дельта 1 дельта 0 ) + 2 грех дельта 0 потому что дельта 1 грех 2 ( α 1 α 0 2 ) , потому что дельта 0 грех ( α 1 α 0 ) ) .

В принципе, вы хотели бы исследовать, когда лучше использовать (3) или (4) в числовом виде. На практике я подозреваю, что (4) будет лучше, чем (3), с точки зрения численной точности, в подавляющем большинстве случаев, которые волнуют астрономов.