MODE8 PROCtime2 REM "Ecliptic,Sun, Moon and Planets REM Daily from Today" RG Weston 8 Dec 2002 REM: Modified from SkyProg Lines 2030/40 B%=(month% -14)/12 Y%=year% U%=1461*(Y%+4800+B%)/4 V%=367*(month%-2-12*B%)/12 W%=3*INT((Y%+4900+B%)/100)/4 DDD=date%-2447095.5+U%+V%-W% REM end of REM Dinit=DDD CLS VDU23;8202;0;0;0; @%=10 PROCSETUP PROCaxes @%=&20109 date$=STR$(date%)+"/"+STR$(month%)+"/"+STR$(year%) REPEAT COLOUR4:PRINTTAB(1,29);date$;" +";STR$(DDD-Dinit);"days" DDD=DDD+1 PLN%=0 PROCPLANET PROCSUN:COLOUR3:PRINTTAB(1,0)"Sun";SPC(6):PROClambeta:GCOL0,8:PROCplot:G=GET FOR PLN%=1 TO 7 GCOL0,PLN% PROCPLANET COLOUR PLN%: PRINTTAB(1,0)PLAN$(PLN%);SPC(5):PROClambeta PROCplot G=GET NEXT PLN% PROCMOON:COLOUR6:PRINTTAB(1,0)"Moon";SPC(5):PROClambeta:GCOL0,6:PROCplot:G=GET PROCSUN:PROClambeta:GCOL0,7:PROCplot UNTIL FALSE END DEF PROCSETUP DIM PLAN$(8),PLA(8,6) FORJ%=0TO8:READPLAN$(J%):FORI%=1TO6:READPLA(J%,I%):NEXT:NEXT DATAEarth,1,.016664,.00366,53.1919,287.67672,174.48174,Mercury,.387098,.205638,7.00219,226.30777,29.01747,47.70447,Venus,.723332,.006817,3.39389,1.4518,54.69863,76.15263,Mars,1.523673,.09327,1.84778,326.72296,286.13461,49.0962 DATAJupiter,5.20167,.04799,1.3065,46.8294,273.6191,99.9806,Saturn,9.57157,.05762,2.4887,36.8602,339.7222,113.1709,Uranus,19.13902,.04633,.7711,47.433,93.2332,73.8595 DATANeptune,29.93503,.01277,1.7739,204.3292,278.6735,131.2755,Pluto,39.36753,.24629,17.1389,341.722,113.6122,109.5233,N,NW,W,SW,S,SE,E,NE ENDPROC DEF PROCSUN T=DDD/36525:L=RAD(279.697+36000*T):M=RAD(358.476+36000*T):LAM=L+RAD((1.919-.005*T)*SIN(M)+.02*SIN(2*M)):BET=0:ENDPROC DEF PROCMOON R=RAD(232.2+26.13*DDD):S=RAD(22.5+26.4587*DDD):T=RAD(358.5+.9856*DDD):U=RAD(341.5+24.3815*DDD):V=RAD(296.1+13.065*DDD):W=RAD(314.6-11.31651*DDD):X=RAD(11.2+13.22935*DDD) Y=RAD(0.7*SIN(U)+6.3*SIN(V)-1.3*SIN(W)):LAM=Y+RAD(270.4+13.1764*DDD+.2*SIN(R)-.1*SIN(S)-.2*SIN(T)):BET=RAD(5.2*SIN(X+Y)):D=350.74+445267.14*(DDD/36525):D=D-360*INT(D/360):AGM%=.082*D:ENDPROC DEF PROCPLANET a=PLA(PLN%,1):e=PLA(PLN%,2):i=RAD(PLA(PLN%,3)):M=RAD(PLA(PLN%,4)):w=RAD(PLA(PLN%,5)):W=RAD(PLA(PLN%,6)) P=365.25*SQR(a*a*a):M=M+RAD(360/P)*(DDD-28180.5):E0=M+e*SIN(M) REPEAT:E=E0+(M+e*SIN(E0)-E0)/(1-e*COS(E0)):ES=E0:E0=E:E=ES:UNTILABS(E-E0)<1E-6 x=a*(COS(E)-e):y=a*SQR(1-e*e)*SIN(E):r=SQR(x*x+y*y):Cw=COS(w):Sw=SIN(w):xl=x*Cw-y*Sw:yl=x*Sw+y*Cw:CW=COS(W):SW=SIN(W):Ci=COS(i):Xp=xl*CW-yl*SW*Ci:Yp=xl*SW+yl*CW*Ci:Zp=yl*SIN(i):IFPLN%=0Xe=Xp:Ye=Yp:Ze=Zp:ENDPROC xp=Xp-Xe:yp=Yp-Ye:zp=Zp-Ze:R=SQR(xp*xp+yp*yp+zp*zp):LAM=ATN(yp/xp)+PI*(3+SGN(xp))/2:BET=ASN(zp/R):ENDPROC : DEF PROCaxes:LOCAL x VDU29,0;512; GCOL0,7 MOVE0,0:DRAW 1279,0 MOVE 0,-512:DRAW 0,512 MOVE 0,0 FOR x=0 TO 360 STEP 20 xx=x*1279/360 MOVE xx,0:DRAW xx,-10 IF x MOD 80 =0 THEN DRAW xx,-30 VDU5:PLOT0,-16,-30 IF x MOD 80 =0 AND x>0 THEN PRINT;360-x VDU4 NEXT x ENDPROC : DEFPROCplot LOCAL x,y x=1279-(lam*1279/360) y=DEG(BET)*512/20 PLOT69,x,y ENDPROC : DEF PROClambeta lam=DEG(LAM):exang=INT(lam/360):lam=lam-(exang*360) PRINTTAB(1,2)"Lamda= ";lam;SPC(2); PROCconstellation PRINTTAB(1,4)"Beta= ";DEG(BET);SPC(3) ENDPROC : DEF PROCconstellation RESTORE 870 870 DATA PIS,28,ARI,53,TAU,90,GEM,117,CAN,137,LEO,173,VIR,217,LIB,240,SCO,247,ORP,265,SAG,299,CAP,328,AQU,350,PIS,360 found=FALSE REPEAT READ constellation$,maxlam IF lam