Hi,
auf meiner
Homepage kannst du dir ein Sonnenpositionsberechnungsprogram (Sonne.exe) runterladen. Den Algorithmuas (von Jean Meeus) gebe ich hier gleich mit.
{Bahnst”rungen durch Venus, Mars, Jupiter und Saturn sowie durch den Mond}
PROCEDURE STOERUNG;
VAR g2,g4,g5,g6,d,a,u: REAL;
BEGIN
g2:=212.45+58517.493*t; {Venusst”rung}
g4:=319.58+19139.977*t; {Marsst”rung}
g5:=225.28+ 3034.583*t+0.36111*SIN(RAD(133.775+39.804*t)); {Jupiterst”rung}
g6:=175.60+ 1221.794*t; {Saturnst”rung}
d :=350.737486+445267.114217*t-0.00144*t*t; d:=RAD(d); {Mondst”rung}
a :=296.104608+477198.849108*t; a:=RAD(a);
u := 11.250889+483202.02515*t; u:=RAD(u);
ll:= 1343.9*COS(RAD(299.102+g2-mas)) + 32.2*COS(RAD(148.9+2*g2-mas));
ll:=ll+1535.0*COS(RAD(148.313+2*g2-2*mas))+693.6*COS(RAD(315.943+2*g2-3*mas));
ll:=ll+ 433.1*COS(RAD(345.253+3*g2-4*mas))+185.0*COS(RAD(177.71+3*g2-3*mas));
ll:=ll+ 284.4*COS(RAD(318.15+3*g2-5*mas)) + 58.3*COS(RAD(206.2+4*g2-4*mas));
ll:=ll+ 40.0*COS(RAD(195.4+4*g2-5*mas)) + 42.2*COS(RAD(343.8+4*g2-6*mas));
ll:=ll+ 34.2*COS(RAD(195.3+5*g2-7*mas)) + 42.8*COS(RAD(359.6+5*g2-8*mas));
ll:=ll+567.5*COS(RAD(343.888-2*g4+2*mas)) +491.7*COS(RAD(200.402-2*g4+mas));
ll:=ll+ 75.8*COS(RAD(217.7-g4+mas)) + 35.8*COS(RAD(294.2-3*g4+3*mas));
ll:=ll+118.1*COS(RAD(338.88-3*g4+2*mas)) +138.9*COS(RAD(105.18-4*g4+3*mas));
ll:=ll+162.5*COS(RAD(334.06-4*g4+2*mas)) + 56.7*COS(RAD(100.8-5*g4+3*mas));
ll:=ll+ 42.8*COS(RAD(227.4-6*g4+4*mas)) + 28.1*COS(RAD(96.3-6*g4+3*mas));
ll:=ll+ 29.4*COS(RAD(222.7-7*g4+4*mas));
ll:=ll+2002.2*COS(RAD(179.532-g5+mas)) +722.2*COS(RAD(263.217-g5));
ll:=ll+ 758.6*COS(RAD(87.145-2*g5+2*mas))+447.2*COS(RAD(109.493-2*g5+mas));;
ll:=ll+ 45.3*COS(RAD(198.6-g5+2*mas)) + 45.6*COS(RAD(170.5-3*g5+3*mas));
ll:=ll+ 154.4*COS(RAD(82.65-3*g5+2*mas)) + 58.3*COS(RAD(98.5-3*g5+mas));
ll:=ll+116.4*COS(RAD(100.58-g6+mas)) + 88.9*COS(RAD(269.46-g6));
ll:=ll+ 30.0*COS(RAD(290.6-2*g6+2*mas)) + 31.1*COS(RAD(293.6-2*g6+mas));
ll:=ll+1792.8*SIN(d)+49.2*SIN(d+a)-117.8*SIN(d-a)+47.8*SIN(d-RAD(mas));
rs:= 5432*COS(RAD(209.08+g2-mas)) +15754*COS(RAD(58.318+2*g2-2*mas));
rs:=rs+ 368*COS(RAD(58.4+2*g2-mas)) + 2001*COS(RAD(226.7+2*g2-3*mas));
rs:=rs+2406*COS(RAD(87.57+3*g2-3*mas))+ 3447*COS(RAD(255.25+3*g2-4*mas));
rs:=rs+ 447*COS(RAD(49.5+3*g2-5*mas)) + 866*COS(RAD(116.28+4*g2-4*mas));
rs:=rs+451*COS(RAD(105.2+4*g2-5*mas)) + 375*COS(RAD(145.4+5*g2-5*mas));
rs:=rs+325*COS(RAD(105.4+5*g2-7*mas));
rs:=rs+4736*COS(RAD(253.828-2*g4+2*mas)) + 345*COS(RAD(127.7-g4+mas));
rs:=rs+ 348*COS(RAD(295-2*g4+mas)) + 387*COS(RAD(203.5-3*g4+3*mas));
rs:=rs+ 495*COS(RAD(249-3*g4+2*mas)) +1101*COS(RAD(15.17-4*g4+3*mas));
rs:=rs+ 242*COS(RAD(65.9-4*g4+2*mas)) + 246*COS(RAD(324.6-5*g4+4*mas));
rs:=rs+320*COS(RAD(137.3-6*g4+4*mas));
rs:=rs+16272*COS(RAD(89.545-g5+mas)) +9270*COS(RAD(357.108-2*g5+2*mas));
rs:=rs+ 479*COS(RAD(112-g5+2*mas)) + 562*COS(RAD(338.6-g5));
rs:=rs+ 237*COS(RAD(350.5-2*g5+3*mas))+3359*COS(RAD(19.467-2*g5+mas));
rs:=rs+ 647*COS(RAD(81.2-3*g5+3*mas)) +1849*COS(RAD(352.56-3*g5+2*mas));
rs:=rs+ 401*COS(RAD(8.6-3*g5+mas)) + 260*COS(RAD(347.7-4*g5+2*mas));
rs:=rs+988*COS(RAD(10.6-g6+mas)) +373*COS(RAD(200.6-2*g6+2*mas));
rs:=rs+258*COS(RAD(203.1-2*g6+mas));
rs:=rs+30763*COS(d)+852*COS(d+a)-3062*COS(d-a)-322*COS(d+RAD(mas))+829*COS(d-RAD(mas));
ekl_breite:=0.576*SIN(RAD(u))-0.21*COS(RAD(151.8+3*g2-4*mas))-0.166*COS(RAD(265.5-2*g5+mas));
ekl_breite:=ekl_breite/3600;
ekl_breite:=RAD(ekl_breite);
END; {STOERUNG}
PROCEDURE GEOZ_EKL_KOORD;
BEGIN
mls:=279.6966778+36000.768925*t+0.0003025*t*t+5.61e-5*SIN(RAD(315.6+893.3*t));
WINKEL360(mls);
mas:=358.4758333+35999.04975*t-0.00015*t*t;
WINKEL360(mas);
exzentrizitaet:=0.01675104-418e-7*t-126e-9*t*t;
dlp:=0.001778*SIN(RAD(231.19+20.2*t))+(5228e-7-444e-8*t)*SIN(RAD(57.24+150.27*t))+7.39e-5*SIN(RAD(31.8+119*t));
mas:=mas+dlp;
mls:=mls+dlp;
dl:=(1.9194603-0.0047889*t-14e-6*t*t)*SIN(RAD(mas))+(0.0200939-1e-4*t)*SIN(RAD(2*mas))+(293e-6*t)*SIN(RAD(3*mas));
ekl_laenge:=mls+dl;
v:=mas+dl;
v:=RAD(v);
radius:=1.0000002*(1-exzentrizitaet*exzentrizitaet)/(1+exzentrizitaet*COS(v));
STOERUNG; {Berechnet die Bahnst”hrungen durch Planeten und Mond}
ekl_laenge:=ekl_laenge+1e-6*ll;
IF ABS(ekl_laenge) > 360 THEN ekl_laenge:=ekl_laenge-360*SGN(ekl_laenge);
radius:=radius+1e-9*rs;
mls:=RAD(mls);
t1:=t-1;
NutationConst(t1, dphi, deps);
e_laenge:=ekl_laenge-0.0056932+DEG(dphi);
ekl_laenge:=RAD(ekl_laenge);
e_laenge:=RAD(e_laenge);
ekl:=ekliptikschiefe+deps;
END; {GEOZ_EKL_KOORD}
PROCEDURE PARALLAXE_DURCHMESSER;
BEGIN
parallaxe:=ASN(0.000042635/radius);
parallaxe:=DEG(parallaxe)*3600;
sdsonne:=ASN(4.65247E-3/radius){+RAD(4.3e-4)};
END; {PARALLAXE_DURCHMESSER}
PROCEDURE GEOZ_AEQU_KOORD;
VAR aa,bb: REAL;
BEGIN
deklination:=ASN(SIN(ekliptikschiefe)*COS(ekl_breite)*SIN(ekl_laenge)+COS(ekliptikschiefe)*SIN(ekl_breite));
aa:=COS(ekl_breite)*COS(ekl_laenge)/COS(deklination);
bb:=(COS(ekliptikschiefe)*COS(ekl_breite)*SIN(ekl_laenge)-SIN(ekliptikschiefe)*SIN(ekl_breite))/COS(deklination);
rektaszension:=ACS(aa);
IF bb < 0 THEN rektaszension:=2*PI-rektaszension;
IF rektaszension < 0 THEN rektaszension:=2*PI+rektaszension;
dekl:=ASN(SIN(ekl)*COS(ekl_breite)*SIN(e_laenge)+COS(ekl)*SIN(ekl_breite));
aa:=COS(ekl_breite)*COS(e_laenge)/COS(dekl);
bb:=(COS(ekl)*COS(ekl_breite)*SIN(e_laenge)-SIN(ekl)*SIN(ekl_breite))/COS(dekl);
rekt:=ACS(aa);
IF bb < 0 THEN rekt:=2*PI-rekt;
IF rekt< 0 THEN rekt:=2*PI+rekt;
x:=radius*COS(ekl_laenge); {Rechtwinklige geozentrische Koordinaten in AE}
y:=radius*SIN(ekl_laenge)*COS(ekliptikschiefe);
z:=radius*SIN(ekl_laenge)*SIN(ekliptikschiefe);
END; {GEOZ_AEQU_KKORD}
Gruß
Lots