![]() | ![]() | ![]() | Catena di Pappo |
Une utilisation de base de Figure Scheme de DR. GEO consiste en la reproduction de figure dont nous connaissons les caractéristiques analytiques.
L'exemple de construction que nous proposons est représenté par la fameuse "Catena di Pappo".
(new-figure "Pappo") (define (circle n) (let*( (r (Numeric "" free 0 0 (/ 15 ( + 6 (* n n ))))) (c (Point "" free (* 5 (/ 15 ( + 6 (* n n )))) (* 2 (* n (/ 15 ( + 6 (* n n ))))))) (p (Circle "" center-radius c r ))) (send r masked) (if (> n 0) (circle (- n 1))))) (circle 8) (lets Point "A" free 5 0) (lets Point "O" free 0 0) (lets Point "B" free 15 0) (lets Point "M" middle-2pts B O) (lets Circle "" 2points M O) (lets Circle "" 2points A O) (lets Line "" 2points A O)
le code de la figure est relativement intuitif et ne nécessite pas de commentaire.
Un exercice non trivial, que nous laissons au lecteur, consiste à déterminer une construction à la règle et au compas conduisant à une implémentation itérative.
![]() | ![]() | ![]() | Catena di Pappo |