|  |  |  | Spirale de Baravelle | 
Comme nous l'avons vu précédement, à l'aide de FSD il est possible de construire de façon intuitive et simple des figures permettant de visionner des situations qui en programmation sont récursives - ou cycliques.
Nous pouvons un peu approfondir cet aspect, en modifiant le code Scheme utilisé pour la construction des nombres irrationnels, afin d'obtenir une figure fameuse de la littérature des mathématiques, à savoir la spirale de Baravelle.
Le code Scheme définissant la spirale est le suivant :
 
(new-figure "Baravelle")
 
(define (triangle p1 p2 p3 n)   
  (let* ((s1  (Segment "" extremities    p1 p2))
         (s2  (Segment "" extremities    p2 p3))
         (s3  (Segment "" extremities    p3 p1))
         (m   (Point   "" middle-2pts    p1 p3))
         (r   (Segment "" extremities    m  p3))
         (pe  (Line    "" orthogonal     p3 s3))
         (ci  (Circle  "" center-segment p3 r ))
         (p4  (Point   "" intersection2  pe ci)))
    (send pe  masked)
    (send ci  masked)
    (send p4  masked)
    (send m   masked)
    (if (> n 0)
      (triangle  m  p3  p4 (- n 1)))))
   
 
(lets Point "A" free  0  5)
(lets Point "B" free  5  5)
(lets Point "C" free  5  0)
(triangle A B C 9)
 
(lets Point "D" free  0 -5)
(lets Point "E" free -5 -5)
(lets Point "F" free -5  0)
(triangle D E F 9)
       
    
Une petite variation supplémentaire du code précédent :
(new-figure "Spirale")
(define (square p1 p2 p3 p4 n)
  (let* ((s1 (Segment "" extremities p1 p2))
         (s2 (Segment "" extremities p2 p3))
         (s3 (Segment "" extremities p3 p4))
         (s4 (Segment "" extremities p4 p1))
         (A (Point "" on-curve s1 1/10))
         (B (Point "" on-curve s2 1/10))
         (C (Point "" on-curve s3 1/10))
         (D (Point "" on-curve s4 1/10)))
     (send A masked)
     (send B masked)
     (send C masked)
     (send D masked)
     (if (> n 0)
       (square A B C D (- n 1)))))
(lets Point "M" free 5 5)
(lets Point "N" free -5 5)
(lets Point "O" free -5 -5)
(lets Point "P" free 5 -5)
(square M N O P 30)
conduit à une spirale simplifiée.
       
    
 ou
  rejoignez la liste de diffusion de DR. GEO.
 ou
  rejoignez la liste de diffusion de DR. GEO.|  |  |  | Spirale de Baravelle |