; * lisp/calendar/lunar.el: Add comments. (bug#61460)

This commit is contained in:
Ulrich Müller 2023-02-13 15:50:47 +01:00
parent 10f2aedea9
commit 909bd04cf5

View file

@ -85,6 +85,9 @@ remainder mod 4 gives the phase: 0 new moon, 1 first quarter, 2 full moon,
(* 0.0107306 time time) (* 0.0107306 time time)
(* 0.00001236 time time time)) (* 0.00001236 time time time))
360.0)) 360.0))
;; moon-lat is the argument of latitude, which is the angle
;; of the moon measured from the ascending node of its orbit
;; (i.e. argument of perigee + true anomaly).
(moon-lat (mod (moon-lat (mod
(+ 21.2964 (+ 21.2964
(* 390.67050646 index) (* 390.67050646 index)
@ -153,9 +156,11 @@ remainder mod 4 gives the phase: 0 new moon, 1 first quarter, 2 full moon,
;; Line 7000 Peter Duffett-Smith Cambridge University Press 1990 ;; Line 7000 Peter Duffett-Smith Cambridge University Press 1990
(defun eclipse-check (moon-lat phase) (defun eclipse-check (moon-lat phase)
(let* ((moon-lat (* (/ float-pi 180) moon-lat)) (let* ((moon-lat (* (/ float-pi 180) moon-lat))
;; For positions near the ascending or descending node,
;; calculate the absolute angular distance from that node.
(moon-lat (abs (- moon-lat (* (floor (/ moon-lat float-pi)) (moon-lat (abs (- moon-lat (* (floor (/ moon-lat float-pi))
float-pi)))) float-pi))))
(moon-lat (if (> moon-lat 0.37) (moon-lat (if (> moon-lat 0.37) ; FIXME (* 0.5 float-pi)
(- float-pi moon-lat) (- float-pi moon-lat)
moon-lat)) moon-lat))
(phase-name (cond ((= phase 0) "Solar") (phase-name (cond ((= phase 0) "Solar")