2D Tree With Leaves Example Code
(define (draw-trunk)
(separator
(rotate -90 (vec3 1 0 0))
(cylinder 'radius .1)
))
(define (draw-leaf)
(separator
(color (vec3 0 1 0))
(scale (vec3 1 2 1))
(translate (vec3 0 1 0))
(disk)
)
)
(define (tree depth)
(if (> depth 0)
; if not at the end of the branch, draw two branches
(separator
(draw-trunk)
(separator
(translate (vec3 0 1 0))
(rotate 45 (vec3 0 0 1))
(uscale .75)
(tree (- depth 1))
)
(separator
(translate (vec3 0 1 0))
(rotate -45 (vec3 0 0 1))
(uscale .7)
(tree (- depth 1))
)
)
; else draw a leaf
(draw-leaf)
)
)
Return to 2D Tree
mrl