-*-Text-*-
-Obviously half a tellurian does not a planetarium make.
+Obviously a simple tellurion does not a planetarium make.
-Finish the tellurian. Draw a little moon icon on the globe at the
+Finish the tellurion. Draw a little moon icon on the globe at the
lat/long of the Moon. Draw it in dotted lines when it is hidden.
-Include its phase. Draw a sun icon too. Other views: Earth and
-Moon from celestial North, Earth and Moon and Sun from N inside
-celestial grid showing mean equinox of the date, precession animation,
-etc. etc.
+Include its phase. Draw a sun icon too. Other views: Earth and Moon
+from celestial North, Earth and Moon and Sun from N, include celestial
+grid showing mean equinox of the date, precession animation, etc. etc.
Draw orbits and positions of the planets in the (inner) solar system
from N (e.g. to answer a question like "Why is Curiosity having
`(("solar" "geometry")
("earth" "geometry" "matrices")
("mit-scheme-cil" "earth" ,@(directory-read "cil-*.txt"))
- ("tellurian" "geometry" "matrices")))
\ No newline at end of file
+ ("tellurion" "geometry" "matrices")))
\ No newline at end of file
|#
-;;;; Load and run the planetarium (half a tellurian at the mo').
+;;;; Load and run the planetarium (just a tellurion at the mo').
(package/add-child! (find-package '()) 'planetarium
(extend-top-level-environment (->environment '())) #t)
(compile-load "earth" '("matrices" "geometry"))
(compile-load "mit-scheme-cil" (cons "earth"
(directory-read "cil-*.txt")))
- (compile-load "tellurian" '("geometry" "matrices"))
- (environment-link-name (->environment '()) env 'make-tellurian)
+ (compile-load "tellurion" '("geometry" "matrices"))
+ (environment-link-name (->environment '()) env 'make-tellurion)
(cond ((not (ignore-errors? (lambda () (load-option 'gtk))))
(compile-load "mit-scheme-gtk"))
((graphics-type-available? 'x)
"time"
"solar"
"earth"
- "tellurian")
+ "tellurion")
(export ()
- make-tellurian))
+ make-tellurion))
(define-package (planetarium gtk-graphics)
(parent ())
(for-each (lambda (file) (compile-file file '() here) (load file))
'("mit-scheme-syntax"
"geometry" "matrices" "time" "solar" "earth"
- "mit-scheme-cil" "tellurian" "mit-scheme-gtk")))))
+ "mit-scheme-cil" "tellurion" "mit-scheme-gtk")))))
(let ((time (get-universal-time))
(latitude 33.3)
(device (gtk-graphics/make 400 400)))
(graphics-set-coordinate-limits device -1.1 -1.1 1.1 1.1)
- (draw-tellurian device time (make-latitude/longitude latitude longitude))
+ (draw-tellurion device time (make-latitude/longitude latitude longitude))
(let ((surface (surface-ink-surface (graphics-device/descriptor device))))
- (cairo-surface-write-to-png surface "tellurian.png")
+ (cairo-surface-write-to-png surface "tellurion.png")
(cairo-surface-destroy surface)))
\ No newline at end of file
(declare (usual-integrations)
(integrate-external "geometry" "matrices"))
-(define (make-tellurian)
+(define (make-tellurion)
(test-julian-day)
(test-greenwich-mean-sidereal-time)
(test-solar-latitude/longitude)
(define (queue! command . args)
(thread-queue/queue! queue (cons command args))
unspecific)
- (detach-thread (create-thread #f (lambda () (run-tellurian queue))))
+ (detach-thread (create-thread #f (lambda () (run-tellurion queue))))
(lambda (keyword . args)
(cond ((eq? keyword 'TURN-TO)
(let ((lat (->flonum (car args)))
(queue! queue 'go))
(else (error "unknown command:" keyword args))))))
-(define (run-tellurian queue)
+(define (run-tellurion queue)
(let ((device (make-suitable-graphics-device))
;; Latitude and longitude per GPS -- positive degrees long. to the east.
(lat/long (make-latitude/longitude 23.271 0.))
(time (get-universal-time))
(stopped? #f))
(define-integrable (draw)
- (draw-tellurian device time lat/long))
+ (draw-tellurion device time lat/long))
(draw)
(let loop ()
(let ((command (if stopped?
(draw))))
(loop))))
-(define draw-tellurian
+(define draw-tellurion
(let ((lat/long-pos (make-2d-point -1. -1.02))
(time-pos (make-2d-point -1. 1.))
(cross-hair-left (make-2d-point -.02 0.))
(cross-hair-right (make-2d-point .02 0.))
(cross-hair-top (make-2d-point 0. .02))
(cross-hair-bottom (make-2d-point 0. -.02)))
- (named-lambda (draw-tellurian device time lat/long)
+ (named-lambda (draw-tellurion device time lat/long)
(graphics-clear device)
(draw-text device time-pos (universal-time->string time) "black")
(draw-text device lat/long-pos (latitude/longitude-string lat/long) "black")