Una construcción clásica, relacionada con los números irracionales, conocida bajo el nombre de "Espiral de Teodoro" permite construir geométricamente la raíz cuadrada de números enteros a partir de un triángulo isósceles.
Consideremos el triángulo OAB donde OA=1 :
Por el teorema de Pitágoras, tenemos que OB es igual a la raíz cuadrada de 2. Si, ahora, con la figura, construimos un nuevo triángulo rectángulo en B, con lados OB y BC tal que BC=1.
Nuevamente, por el teorema de Pitágoras, es claro que la hipotenusa OC del triángulo OBC tiene por longitud la raíz cuadrada de 3. Repitiendo este proceso obtenemos todas las raíces cuadradas de los números naturales.
La naturaleza repetitiva de la construcción se presta perfectamente para la utilización de un FSD. Consideremos el código siguiente :
(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)
El triángulo inicial está definido a través de coordenadas por comodidad únicamente. El código es la transcripción literal del procedimiento repetitivo previamente descrito. Una vez evaluado por DR. GEO, el código nos da la siguiente figura :
Las hipotenusas de cada triángulo tienen por longitud las raíces cuadradas de los números enteros naturales entre 2 y 17.