Une construction classique, relative au nombre irrationnel, connue sous le nom de spirale de Teodoro, permet de construire géométriquement la racine carrée de nombres entiers à partir d'un triangle rectangle isocèle.
Considérons le triangle OAB où OA=1 :
Par le théorème de Pythagore nous avons OB égale à la racine carrée de 2. Si maintenant, avec la figure, nous construisons un nouveau triangle rectangle en B, avec les côtés OB et BC tel que BC=1.
Toujours par le théorème de Pythagore, il est clair que l'hypothénuse OC de OBC a pour longueur la racine carrée de 3. En itérant le processus précédent à l'infini nous obtenons toutes les racines carrées des nombres naturels.
La nature itérative de la construction s'adapte parfaitement à l'utilisation des FSD. Considérons alors le code suivant :
(new-figure "Triangle") (define (triangle p1 p2 p3 n) (let* ((s1 (Segment "" extremities p1 p2)) (s2 (Segment "" extremities p2 p3)) (s3 (Segment "" extremities p3 p1)) (pe (Line "" orthogonal p3 s3)) (ci (Circle "" center-segment p3 s2)) (p4 (Point "" intersection2 pe ci))) (send pe masked) (send ci masked) (send p4 masked) (if (> n 0) (triangle p1 p3 p4 (- n 1))))) (lets Point "O" free 0 0) (lets Point "A" free -1 0) (lets Point "B" free -1 1) (triangle O A B 15)
Le triangle du début est défini à travers les coordonnées seulement par commodité. Le code est la transcription littérale de la procédure itérative décrite précédement. Une fois évalué par DR. GEO le code donne la figure suivante :
Les hypothénuses de chaque triangle ont pour longueur les racines carrées des nombres entiers naturels compris entre 2 et 17.