Animate a pendulum: Difference between revisions

Content deleted Content added
Omero (talk | contribs)
m →‎{{header|Racket}}: Fix corrupt unicode
Line 2,876: Line 2,876:


(define (pendulum)
(define (pendulum)
(define (accel ?) (- (sin ?)))
(define (accel θ) (- (sin θ)))
(define ? (/ pi 2.5))
(define θ (/ pi 2.5))
(define ?' 0)
(define θ′ 0)
(define ?'' (accel (/ pi 2.5)))
(define θ′′ (accel (/ pi 2.5)))
(define (x ?) (+ 200 (* 150 (sin ?))))
(define (x θ) (+ 200 (* 150 (sin θ))))
(define (y ?) (* 150 (cos ?)))
(define (y θ) (* 150 (cos θ)))
(? (n)
(λ (n)
(define p-image (underlay/xy (add-line (empty-scene 400 200) 200 0 (x ?) (y ?) "black")
(define p-image (underlay/xy (add-line (empty-scene 400 200) 200 0 (x θ) (y θ) "black")
(- (x ?) 5) (- (y ?) 5) (circle 5 "solid" "blue")))
(- (x θ) 5) (- (y θ) 5) (circle 5 "solid" "blue")))
(set! ? (+ ? (* ?' 0.04)))
(set! θ (+ θ (* θ′ 0.04)))
(set! ?' (+ ?' (* (accel ?) 0.04)))
(set! θ′ (+ θ′ (* (accel θ) 0.04)))
p-image))
p-image))