home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / basic / astrmenu.lbr / XYZ.BZS / XYZ.BAS
BASIC Source File  |  1987-04-26  |  2KB  |  87 lines

  1. 1 PRINT "From the November 1985 SKY & TELESCOPE, pp. 470-1."
  2. 2 PRINT
  3. 3 PRINT "This program calculates the 1950.0 rectangular coordinates of the"
  4. 4 PRINT "Sun."
  5. 5 PRINT
  6. 6 PRINT "INPUT:  Julian Day number (J), Julian Day fractional part (F)."
  7. 7 PRINT
  8. 8 PRINT "OUTPUT:  X, Y (directed along the celestial equator), Z (directed"
  9. 9 PRINT "         along the celestial poles) (AU)."
  10. 10 PRINT
  11. 500 REM    X,Y,Z OF THE SUN
  12. 501 REM    (EQUINOX 1950.0)
  13. 502 REM
  14. 503 INPUT "J,F ";J,F
  15. 504 J8=J-2415020!: R1=3.14159265#/180
  16. 505 T=(J8+F)/36525!
  17. 506 P0=1.396041+.000308*(T+.5)
  18. 507 P0=P0*(T-.499998)
  19. 508 A=100: GOSUB 529: G0=A+358.475833#
  20. 509 L0=A+279.696678#-P0
  21. 510 A=1336: GOSUB 529  
  22. 511 C0=A+270.434164#-P0
  23. 512 A=162: GOSUB 529  
  24. 513 V0=A+212.603219#
  25. 514 A=53: GOSUB 529: M0=A+319.529425#
  26. 515 A=8: GOSUB 529: J0=A+225.444651#
  27. 516 G=G0+T*(-.95025-.00015*T)
  28. 517 C=C0+T*(307.883142#-.001133*T)
  29. 518 L=L0+T*(.76892+.000303*T)
  30. 519 V=V0+T*(197.803875#+.001286*T)
  31. 520 M=M0+T*(59.8585+.000181*T)
  32. 521 J=J0+T*154.906654#
  33. 522 G=G*R1: C=C*R1: L=L*R1
  34. 523 V=V*R1: M=M*R1: J=J*R1
  35. 524 GOSUB 532  
  36. 525 PRINT "X: ";X
  37. 526 PRINT "Y: ";Y
  38. 527 PRINT "Z: ";Z
  39. 528 RUN "ASTRMENU.BAS"
  40. 529 REM   NORMALIZATION
  41. 530 A=360*(A*T-INT(A*T)): RETURN
  42. 531 REM
  43. 532 X=.000011*COS(2*G-L-2*J)
  44. 533 X=X+.000011*COS(2*G+L-2*V)
  45. 534 X=X-.000012*COS(G+L-V)
  46. 535 X=X-.000012*COS(4*G-L-8*M+3*J)
  47. 536 X=X+.000012*COS(4*G+L-8*M+3*J)
  48. 537 X=X-.000014*COS(C-2*L)
  49. 538 X=X+.000017*COS(C)
  50. 539 X=X+.000018*SIN(2*G+L-2*V)
  51. 540 X=X-.000021*T*COS(G+L)
  52. 541 X=X-.000026*SIN(G-L-J)
  53. 542 X=X+.000035*COS(2*G-L)
  54. 543 X=X+.000063*T*COS(G-L)
  55. 544 X=X+.000105*COS(2*G+L)
  56. 545 X=X+.008374*COS(G+L)
  57. 546 X=X-.025127*COS(G-L)
  58. 547 X=X+.99986*COS(L)
  59. 548 REM
  60. 549 Y=.00001*SIN(2*G+L-2*V)
  61. 550 Y=Y-.00001*SIN(2*G-L-2*J)
  62. 551 Y=Y-.000011*SIN(G+L-V)
  63. 552 Y=Y+.000011*SIN(4*G-L-8*M+3*J)
  64. 553 Y=Y+.000011*SIN(4*G+L-8*M+3*J)
  65. 554 Y=Y+.000013*SIN(C-2*L)
  66. 555 Y=Y+.000016*SIN(C)
  67. 556 Y=Y-.000017*COS(2*G+L-2*V)
  68. 557 Y=Y-.000019*T*SIN(G+L)
  69. 558 Y=Y-.000024*COS(G-L-J)
  70. 559 Y=Y-.000032*SIN(2*G-L)
  71. 560 Y=Y-.000057*T*SIN(G-L)
  72. 561 Y=Y+9.699999E-05*SIN(2*G+L)
  73. 562 Y=Y+.007683*SIN(G+L)
  74. 563 Y=Y+.023053*SIN(G-L)
  75. 564 Y=Y+.917308*SIN(L)
  76. 565 REM
  77. 566 Z=-.00001*COS(G-L-J)
  78. 567 Z=Z-.000014*SIN(2*G-L)
  79. 568 Z=Z-.000025*T*SIN(G-L)
  80. 569 Z=Z+.000042*SIN(2*G+L)
  81. 570 Z=Z+.003332*SIN(G+L)
  82. 571 Z=Z+.009998*SIN(G-L)
  83. 572 Z=Z+.397825*SIN(L)
  84. 573 RETURN
  85. *SIN(G-L)
  86. 569 Z=Z+.000042*SIN(2*G+L)
  87.