ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

128 lines
3.2 KiB

  1. 10 REM Rigorous Precession
  2. 20 REM (J2000.0)
  3. 30 DEFDBL A-Z
  4. 40 Q1$="## ## ##.###"
  5. 50 Q2$="## ## ##.##"
  6. 60 Q3$="##.####": Q4$="##.###"
  7. 70 P1=4*ATN(1): R1=P1/180
  8. 80 E0=2000: A$="A"
  9. 90 CLS
  10. 100 INPUT "Initial epoch (yr)";IE
  11. 110 INPUT "Final epoch (yr) ";FE
  12. 120 IF ABS(IE-FE)<=500 THEN 150
  13. 130 PRINT "Time span too long"
  14. 140 GOTO 110
  15. 150 CLS
  16. 151 GOSUB 660
  17. 155 IF A$="n" OR A$="N" THEN 210
  18. 160 PRINT "Initial epoch ";IE
  19. 170 PRINT " R.A. (h,m,s)";
  20. 180 GOSUB 530: A=V
  21. 190 PRINT " Dec. (d,m,s)";
  22. 200 GOSUB 530: D=V
  23. 210 MA=0: MD=0: GOSUB 970
  24. 220 A2=A1: D2=D1
  25. 225 IF A$="n" OR A$="N" THEN 270
  26. 230 PRINT "Proper motion in"
  27. 240 INPUT " R.A. (sec/yr) ";M1
  28. 250 INPUT " Dec. (arcsec/yr)";M2
  29. 260 PRINT
  30. 270 MA=M1: MD=M2: GOSUB 970
  31. 280 V=A1: GOSUB 590
  32. 290 PRINT "Final epoch ";FE
  33. 300 PRINT " R.A. (h,m,s): ";
  34. 310 PRINT USING Q1$;V1;V2;V3
  35. 320 V=D1: GOSUB 590
  36. 330 PRINT " Dec. (d,m,s): ";S$;
  37. 340 PRINT USING Q2$;V1;V2;V3
  38. 350 A3=(A1-A2)*3600/NY
  39. 360 D3=(D1-D2)*3600/NY
  40. 370 PRINT "Proper motion in"
  41. 380 PRINT " R.A. (sec/yr): ";
  42. 390 PRINT USING Q3$;A3
  43. 400 PRINT " Dec. (arcsec/yr):";
  44. 410 PRINT USING Q4$;D3
  45. 420 PRINT
  46. 430 PRINT "Select one:"
  47. 440 PRINT " (A)nother star"
  48. 450 PRINT " (N)ew final epoch"
  49. 460 PRINT " (Q)uit"
  50. 470 INPUT A$
  51. 480 IF A$="a" OR A$="A" THEN 150
  52. 490 IF A$="n" OR A$="N" THEN 110
  53. 500 IF A$="q" OR A$="Q" THEN 520
  54. 510 GOTO 470
  55. 520 END
  56. 530 REM INPUT SEXAGESIMAL
  57. 540 S=1: INPUT V$,V2,V3
  58. 550 IF LEFT$(V$,1)="-" THEN S=-1
  59. 560 V1=ABS(VAL(V$))
  60. 570 V=S*(V1+V2/60+V3/3600)
  61. 580 RETURN
  62. 590 REM OUTPUT SEXAGESIMAL
  63. 600 S$="+": IF V<0 THEN S$="-"
  64. 610 V=ABS(V): V1=INT(V)
  65. 620 VM=60*(V-V1): V2=INT(VM)
  66. 630 V3=60*(VM-V2)
  67. 640 RETURN
  68. 650 REM
  69. 660 REM Precession parameters
  70. 670 NY=FE-IE
  71. 680 T0=(IE-E0)/100: T1=NY/100
  72. 690 T2=T1*T1: T3=T1*T1*T1
  73. 700 H1=2306.2181: H2=1.39656
  74. 710 H3=-0.000139: H4=0.30188
  75. 720 H5=-0.000345: H6=0.017998
  76. 730 K1=1.09468: K2=0.000066
  77. 740 K3=0.018203
  78. 750 L1=2004.3109: L2=-0.8533
  79. 760 L3=-0.000217: L4=-0.42665
  80. 770 L5=-0.000217: L6=-0.041833
  81. 780 W= (H1 +H2*T0 +H3*T0*T0)*T1
  82. 790 ZT= W +(H4 +H5*T0)*T2 +H6*T3
  83. 800 ZD= W +(K1 +K2*T0)*T2 +K3*T3
  84. 810 TH= (L1 +L2*T0 +L3*T0*T0)*T1
  85. 820 TH= TH+(L4 +L5*T0)*T2 +L6*T3
  86. 830 ZT=ZT*R1/3600: ZD=ZD*R1/3600
  87. 840 TH=TH*R1/3600
  88. 850 REM ZT,ZD,TH = Euler angles
  89. 860 REM
  90. 870 REM Rotation matrix
  91. 880 S1=SIN(ZT): C1=COS(ZT)
  92. 890 S2=SIN(ZD): C2=COS(ZD)
  93. 900 S3=SIN(TH): C3=COS(TH)
  94. 910 XX=C1*C3*C2-S1*S2
  95. 920 YX=-S1*C3*C2-C1*S2: ZX=-S3*C2
  96. 930 XY=C1*C3*S2+S1*C2
  97. 940 YY=-S1*C3*S2+C1*C2: ZY=-S3*S2
  98. 950 XZ=C1*S3: YZ=-S1*S3: ZZ=C3
  99. 960 RETURN
  100. 970 REM Proper-motion correction
  101. 980 A0=(A+MA*NY/3600)*15*R1
  102. 990 D0=(D+MD*NY/3600)*R1
  103. 1000 REM
  104. 1010 REM Spherical--> rectangular
  105. 1020 SA=SIN(A0): CA=COS(A0)
  106. 1030 SD=SIN(D0): CD=COS(D0)
  107. 1040 X0=CA*CD: Y0=SA*CD: Z0=SD
  108. 1050 REM 3-D transformation
  109. 1060 X1=X0*XX+Y0*YX+Z0*ZX
  110. 1070 Y1=X0*XY+Y0*YY+Z0*ZY
  111. 1080 Z1=X0*XZ+Y0*YZ+Z0*ZZ
  112. 1090 REM Rectangular--> spherical
  113. 1100 A1=ATN(Y1/X1)
  114. 1110 IF X1<0 THEN A1=A1+P1
  115. 1120 IF A1<0 THEN A1=A1+2*P1
  116. 1130 A1=A1/(R1*15): REM Final R.A.
  117. 1140 D1=ATN(Z1/SQR(X1*X1+Y1*Y1))
  118. 1150 D1=D1/R1: REM Final Dec.
  119. 1160 RETURN
  120. 2000 REM
  121. 2010 REM This program for pre-
  122. 2020 REM cessing a star's coor-
  123. 2030 REM dinates is described in
  124. 2040 REM Sky & Telescope for
  125. 2050 REM October, 1991, page 408.
  126. 2060 REM It was written by
  127. 2070 REM Zbigniew S. Krzeminski.