1(new-figure "Spiral") 2 3(define (square p1 p2 p3 p4 n) 4 (let* ((s1 (Segment "" extremities p1 p2)) 5 (s2 (Segment "" extremities p2 p3)) 6 (s3 (Segment "" extremities p3 p4)) 7 (s4 (Segment "" extremities p4 p1)) 8 (A (Point "" on-curve s1 1/10)) 9 (B (Point "" on-curve s2 1/10)) 10 (C (Point "" on-curve s3 1/10)) 11 (D (Point "" on-curve s4 1/10))) 12 (send A masked) 13 (send B masked) 14 (send C masked) 15 (send D masked) 16 (if (> n 0) 17 (square A B C D (- n 1))))) 18 19 (lets Point "M" free 5 5) 20 (lets Point "N" free -5 5) 21 (lets Point "O" free -5 -5) 22 (lets Point "P" free 5 -5) 23 24 (square M N O P 30) 25