Расчет видимой величины спутника - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь создать приложение, которое рассчитывает МКС эстакады.

Я выяснил, как на самом деле получить эстакаду, но я пытаюсь выяснить, как рассчитать кажущуюсяВеличина космической станции во время этих эстакад.Я посмотрел на Есть ли способ рассчитать визуальную величину спутника (МКС)? и Расчет фазового угла между Солнцем / МКС инаблюдатель на земле .

Я выяснил, как рассчитать угол солнечной фазы, но я не могу понять, как получить формулу, представленную Есть ли способ рассчитать визуальную величину спутника (МКС)? работает .У меня есть фазовый угол в градусах и расстояние до спутника в км.Это формула:

Mag = Std. Mag - 15 + 5*LOG(Range) - 2.5*LOG(SIN(B) + (pi-B)*COS(B))

Для МКС я использую -1,8 в качестве std.mag.https://stackoverflow.com/users/2949204/liam-kennedy предоставил эту формулу и, кажется, знает, как заставить ее работать, но я не могу за свою жизнь.

Примечание: я делаю это в C # и знаю свой фазовый уголэто правильно, но даже делая это с Python и pyephem, я не получал ничего похожего на Heavens-Above результатов.Установка B на 113, std.mag на -1,8 и диапазон до 485 дает мне 11,25, но в Heavens-Above с точно такими же данными они получают -3,0.

Вот код, который я использую

var B = phaseAngle;
var magnitude = intrinsicMagnitude - 15 + 5 * Math.Log(distanceToSatellite) - 2.5 * Math.Log(Math.Sin(B) + (Math.PI - B) * Math.Cos(B));

РЕДАКТИРОВАТЬ: Я решил эту проблему здесь: https://astronomy.stackexchange.com/questions/28744/calculating-the-apparent-magnitude-of-a-satellite/28765#28765

Модератор, пожалуйста, отметьте это как решенное.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

И Math.Sin(), и Math.Cos() принимают радианы в качестве аргумента, а не градусы - поэтому вы захотите взять значение 113 за B и сделать что-то вроде B * Math.PI / 180.0.Фактически вы захотите сделать это во всех трех местах, где используется B, так как в противном случае не имеет смысла сравнивать его значение с Math.PI.

0 голосов
/ 17 декабря 2018

Я обычно использую уравнение, найденное на https://mostlymissiledefense.com/2012/08/21/space-surveillance-the-visual-brightenss-and-size-of-space-objects-august-21-2012/. У вас аналогичное.Но первое, что я хотел бы проверить, это использование вами функции LOG().LOG() вычисляет натуральное логарифм, и я подозреваю, что вы хотели получить логарифм с основанием 10 - например, LOG10().

...