Вычислить обычный синодический период двух вращающихся тел довольно просто, но что, если я хочу знать, когда они встретятся в определенном положении? Например, если у них общая периапсида. (Под «одной и той же позицией» я подразумеваю, что два вращающихся объекта и центральное тело находятся на одной линии).
Я знаю, что это применимо только в том случае, если вы можете выразить период одного из тел как долю другого, поэтому 1 и sqrt (2) орбита никогда не синхронизируется.
Но что, если я выберу приемлемую маржу? (например, 10 градусов)
В настоящее время я брутфорсирую это.
У меня такой вопрос: можно ли рассчитать, когда два тела в следующий раз встретятся в одном и том же месте, учитывая их орбитальный период и допустимую ошибку?
Объекты не оказывают заметного влияния ни друг на друга, ни на центральное тело. Ограничьтесь круговым или копланарным, если необходимо.
Это то, что в конечном итоге решило мою проблему. Эта функция JavaScript принимает следующие параметры: radiusRatio
, радиус самых внешних объектов, разделенный на самые внутренние. innerAnomaly
истинная аномалия самых внутренних объектов от опорного направления, то же самое для outerAnomaly
, errorMargin
является максимальным углом между любым из двух радиус-векторов или опорным направлением, а limit
также количеством орбит самых внутренних объектов для моделирования.
Обратите внимание, что угловая мера, используемая для innerAnomaly
, выражается в долях орбиты, а не в градусах или радианах outerAnomaly
.errorMargin
sameLine = function (radiusRatio,innerAnomaly,outerAnomaly,errorMargin,limit){
results = [];
newMargin = errorMargin;
periodRatio = Math.pow(radiusRatio,3/2);
for (i = 1; i < limit; i++){
anomaly = (outerAnomaly + (i - innerAnomaly)/periodRatio) % 1;
if (anomaly > 1 - anomaly){
anomaly = 1 - anomaly;
};
if (anomaly <= newMargin){
results.push([i - innerAnomaly,anomaly]);
newMargin = anomaly;
};
};
return results;
};
Он выводит массив, содержащий подмассивы с данными о встречах в формате 1 числа орбит, которые совершил самый внутренний объект, и 2 того, каков был предел погрешности. Следующая запись - это следующий раз, когда ошибка меньше этого значения.
Конечно, он ограничен компланарными круговыми орбитами, а масса двух вращающихся объектов незначительна.
У меня есть более подробное объяснение связанной проблемы на https://physics.stackexchange.com/a/232918/102747 .
Брайан Линч
SE - хватит стрелять в хороших парней
Марк Адлер
SE - хватит стрелять в хороших парней
пользователь7073
SE - хватит стрелять в хороших парней
пользователь7073