La construction d'une courbe fractale de la forme d'un arbre se fait très aisément avec une figure Scheme. Le code source de la figure est étonnement compact, surtout comparé à une construction "à la main" depuis l'interface graphique.
(new-figure "Baum")
(lets Numeric "A1" free 2 2 +3.4)
(lets Numeric "A2" free 2 3 -3.7)
(lets Numeric "S1" free 2 4 +0.5)
(lets Numeric "S2" free 2 5 +0.9)
(define (dec n)
(- n 1))
(define (inc n)
(+ n 1))
(define (invisible p)
(send p masked)
p)
(define (scalerot oP C a s)
(let* ((sP (invisible (Point "" scale oP C s)))
(rP (invisible (Point "" rotation sP C a))) )
rP))
(define (Zweig p0 p1 n)
(Segment "" extremities p0 p1)
(let* ((left-scale (if (odd? n) S1 S2))
(left-angle A1)
(right-scale (if (odd? n) S2 S1))
(right-angle A2) )
(if (> n 0)
(begin
(Zweig p1 (scalerot p0 p1 left-angle left-scale) (dec n))
(Zweig p1 (scalerot p0 p1 right-angle right-scale) (dec n))))))
(lets Point "A" free -3 0)
(lets Point "B" free -3 2)
(Zweig A B 6)
ou
rejoignez la liste de diffusion de DR. GEO.