Как можно вычистить расстояние между телами на орбитах зная параметры орбит?
По документу http://www.ssau.ru/files....ley.pdf
получилась формула
Код
public static double getR1(){
double delim = a1*(1-Math.pow(e1, 2));
double delit = 1 + e1*Cos(M1);
return delim/delit;
}
public static double getX1(){
return getR1() * (Cos(node1) * Cos(node1 + M1) - Sin(node1) * Sin(node1 + M1)*Cos(i1));
}
public static double getY1(){
return getR1() * (Sin(node1) * Cos(node1+M1) - Cos(node1) * Sin(node1+M1)*Cos(i1));
}
public static double getZ1(){
return getR1() * Sin(node1 + M1) * Sin(i1);
}
public static double getR2(){
double delim = a2*(1-Math.pow(e2, 2));
double delit = 1 + e2*Cos(M2);
return delim/delit;
}
public static double getX2(){
return getR2() * Cos(M2);
}
public static double getY2(){
return getR2() * Sin(M2);
}
public static double getZ2(){
return 0;
}
public static double getMOID(){
double tmp1 = Math.pow((getX1() - getX2()),2);
double tmp2 = Math.pow((getY1() - getY2()),2);
double tmp3 = Math.pow((getZ1() - getZ2()),2);
return Math.sqrt(tmp1 + tmp2 + tmp3);
}
где a1 - большая полуось,e1 - эксцентриситет,i1 - наклонение,peri1 - Аргумент перигелия ,node1 - долгота восходящего узла,M1 - стредняя аномалия(ставил так же истинную) для первого объекта и a2,e2,i2,peri2,node2,M2 - для второго
Аномалии и все данные для одной эпохи
Результат getMOID неверен и одинаковый,даже если менять параметры