ВНИМАНИЕ! На форуме начался конкурс - астрофотография месяца ОКТЯБРЬ!
0 Пользователей и 1 Гость просматривают эту тему.
меня интересует именно ФОРМУЛА склонения луны,
Цитата: V4L1K от 29 Июн 2020 [12:51:38] меня интересует именно ФОРМУЛА склонения луны, Вы про склонение в экваториальных координатах, про δ , Dec ?Непонятно, зачем вам только склонение, без прямого восхождения.Ну, ладно, вот код на Паскале, из книги О. Монтенбрук, Т. Пфлегер "Астрономия на персональном компьютере" JD - это момент времени, на который вычисляются координаты. DEC - это и есть склонение. (кликните для показа/скрытия)(* MINI_MOON: low precision lunar coordinates (approx. 5'/1') *)(* T : time in Julian centuries since J2000 *)(* ( T=(JD-2451545)/36525 ) *)(* RA : right ascension (in h; equinox of date) *)(* DEC: declination (in deg; equinox of date) *)procedure Mini_Moon (T: Double; VAR RA,DEC,r: Double);CONST P2 =2*PI; ARC= 3600/GRAD_RAD; // 206264.8062; COSEPS=0.917482062; SINEPS=0.397777156; (* cos/sin(obliquity ecliptic) *)VAR L0,L,LS,F,D,H,S,N,DL,CB : REAL; L_MOON,B_MOON,V,W,X,Y,Z,RHO: REAL; FUNCTION FRAC(X:REAL):REAL; (* with some compilers it may be necessary to replace *) (* TRUNC by LONG_TRUNC oder INT if T<-24! *) BEGIN X:=X-TRUNC(X); IF (X<0) THEN X:=X+1; FRAC:=X END; BEGIN (* mean elements of lunar orbit *) L0:= FRAC(0.606433+1336.855225*T); (* mean longitude Moon (in rev) *) L :=P2*FRAC(0.374897+1325.552410*T); (* mean anomaly of the Moon *) LS:=P2*FRAC(0.993133+ 99.997361*T); (* mean anomaly of the Sun *) D :=P2*FRAC(0.827361+1236.853086*T); (* diff. longitude Moon-Sun *) F :=P2*FRAC(0.259086+1342.227825*T); (* mean argument of latitude *) DL := +22640*SIN(L) - 4586*SIN(L-2*D) + 2370*SIN(2*D) + 769*SIN(2*L) -668*SIN(LS)- 412*SIN(2*F) - 212*SIN(2*L-2*D) - 206*SIN(L+LS-2*D) +192*SIN(L+2*D) - 165*SIN(LS-2*D) - 125*SIN(D) - 110*SIN(L+LS) +148*SIN(L-LS) - 55*SIN(2*F-2*D); S := F + (DL+412*SIN(2*F)+541*SIN(LS)) / ARC; H := F-2*D; N := -526*SIN(H) + 44*SIN(L+H) - 31*SIN(-L+H) - 23*SIN(LS+H) + 11*SIN(-LS+H) -25*SIN(-2*L+F) + 21*SIN(-L+F); L_MOON := P2 * FRAC ( L0 + DL/1296E3 ); (* in rad *) B_MOON := ( 18520.0*SIN(S) + N ) / ARC; (* in rad *) (* equatorial coordinates *) CB:=COS(B_MOON); X:=CB*COS(L_MOON); V:=CB*SIN(L_MOON); W:=SIN(B_MOON); Y:=COSEPS*V-SINEPS*W; Z:=SINEPS*V+COSEPS*W; RHO:=SQRT(1.0-Z*Z); r:=Sqrt(X*X+Y*Y+Z*Z); // <--- добавлено DEC := (360.0/P2)*ARCTAN(Z/RHO); // -> в градусы RA := ( 48.0/P2)*ARCTAN(Y/(X+RHO)); // -> в часы IF RA<0 THEN RA:=RA+24.0; END;
но мне надо более компакное решение
но параметр t я не знаю как вычислять,
Цитата: V4L1K от 29 Июн 2020 [13:32:10]но мне надо более компакное решениеЧем точнее, тем менее компактно. Вам какая точность нужна ( в градусах ), и на какой период времени ?И какие координаты нужны -- средние на эпоху J2000.0- средние на дату- истинные на дату
.. а что вы имеете ввиду под истинные на дату?
,а прямое восхождение я умею вычислять.
Цитата: V4L1K от 29 Июн 2020 [18:02:34].. а что вы имеете ввиду под истинные на дату?То есть вообще в координатах не разбираетесь? Вот, посмотрите https://ru.wikipedia.org/wiki/Эпоха_(астрономия), и https://ru.wikipedia.org/wiki/Предварение_равноденствийНо, если точность полградуса , то все равно какие, между ними разница сейчас порядка 0.3 градуса .Кстати, полградуса - это видимый диаметр Луны.Но все равно, даже с такой точностью более-менее компактная формула - это на неск. лет, на столетия-тыщщелетия нереально, там довольно громоздкие. Мне так кажется.Кстати, - Цитата: V4L1K от 29 Июн 2020 [13:32:10],а прямое восхождение я умею вычислять.а что у вас за формула? На какой период действует, и какая точность ?
Она базируеться на прямом восхождении солнца и возрасте луны.
Слишком мудрено. Я думал проще, когда всего 1 аргумент - время ( например, количество дней от даты 01.01.2000 ).
Ну, ладно, наверное для вычисления RA Солнца и возраста Луны - у вас компактная формула.
PS И зачем вы цитируете весь пост, это захламляет.