Re: Начинаем разбираться


Автор сообщения: Драмокл
Дата и время сообщения: 16 June 2004 at 21:41:26:

В ответ на сообщение: Re: Начинаем разбираться


Я взял для планет процедуры VSOP87Saturn ( jd, &lon, &lat, &dist );
Для Солнца ипользовал VSOP87Earth( jd, &lon_zem, &lat_zem, &dist_zem );
Кстати, широта Земли здесь не тождественна 0.

Вот данные программы для Сатурна для 01.01.-1000

День: Относительно Солнца ( 3 штуки ): Относительно Земли ( 3 штуки ): Координаты Солнца относительно Земли ( 3 штуки )
1355808.00000; 68d 35' 46.03" ;- 0d 49' 51.57" ; 9.01603; 65d 51' 29.39" ;- 0d 55' 22.27" ; 8.11865; 271d 44' 58.78" ;- 0d 00' 00.03" ; 0.98618;
1355809.00000; 68d 38' 00.90" ;- 0d 49' 45.80" ; 9.01623; 65d 47' 20.30" ;- 0d 55' 12.86" ; 8.12614; 272d 45' 45.33" ; 0d 00' 00.08" ; 0.98639;

А вот расчеты Дингса с использованием VSOP87

Saturn;JD;l;lat;r;Lg;Lat;Rd
01.01.-1000;1355808;68ш35'45'';-0ш49'51'';9.01601336763924;65ш51'44'';-0ш55'22'';8.11864226554941
02.01.-1000;1355809;68ш38'00'';-0ш49'45'';9.01621759913417;65ш47'34'';-0ш55'13'';8.12613586159195

Смотрим
Программа : Дингс : Разница
По Солнцу
Lg 68d 35' 46.03" ### 68ш35'45'' ### 1.03 seconds
Lat - 0d 49' 51.57" ### -0ш49'51'' ### 0.57 seconds
R 9.01603 ### 9.01601336763924
Относительно Земли
Lg 65d 51' 29.39" ### 65ш51'44'' ### 14.61 seconds
Lat - 0d 55' 22.27" ### -0ш55'22'' ### 0.22 seconds
R 8.11865 ### 8.11864226554941
Солнце
Lg 271d 44' 58.78" ### 271ш44'43'' ### 14.22 seconds
Lat - 0d 00' 00.03" ### -0ш00'00'' ### 0.03 seconds

Как видим относительно солнца долготы практически совпадают. ( 1 секунда )
Но долгота земли ( солнца ) у программы и Дингса отличаются на 15 секунд.
И у дингса широта тождественно 0.
Может он что-то не учитывает?


PS.
Вот кусочек программы
VSOP87Saturn ( jd, &lon, &lat, &dist );
lon = radto2pi(lon);
VSOP87Earth( jd, &lon_zem, &lat_zem, &dist_zem );
lon_sun = radto2pi(lon_zem + PI);
lat_sun = -lat_zem;
dist_sun = dist_zem;
Diff(lon, lat, dist, lon_sun, lat_sun, dist_sun, &lon_e, &lat_e, &dist_e);
далее печать

Процедура
void Diff(double lon, double lat, double dist
, double lon_sun, double lat_sun, double dist_sun
, double* lon_e, double* lat_e, double* dist_e)
{
double X1, Y1, Z1;
double X0, Y0, Z0;
SphericalToXYZ ( lon_sun, lat_sun, dist_sun, &X0, &Y0, &Z0 );
SphericalToXYZ ( lon, lat, dist, &X1, &Y1, &Z1 );
XYZToSpherical( X1 + X0, Y1 + Y0, Z1 + Z0, lon_e, lat_e, dist_e);
}



1701. Повтор вопроса - Николай К. 15:28 04.06.04 (32)
К списку тем на странице