Fern

- XLogo Recursion

Many plants exhibit recursive properties in their structures. Ferns are a good example. Each branch is a smaller replica of the whole fern leaf.

To New
  # set default screen, pen and turtle values
  ResetAll SetScreenSize [400 400] HideTurtle
  SetSC Black SetPC Green SetPS 1 PenUp
End

To Hue : Angle
  # Green from 187 to 252
  Make " Green 0.18* : Angle + 187
  Output ( List 215 : Green 88 )
End

To Fern : Size
  If : Size < 5 [Stop]
  SetPC Hue Heading
  Forward : Size / 20
  Left 80 Fern : Size * 0.3
  Right 82 Forward : Size / 20
  Right 80 Fern : Size * 0.3
  Left 78 Fern : Size * 0.9
  Left 2 Back : Size / 20
  Left 2 Back : Size / 20
End

To Go
  New SetPos [-50 -170] PenDown Fern 440
End

For less detail, increase the size limit (shown in red ). See editing procedures .

Also see Fractal Fern created by Chaos Game dot plotting.

Fern
Fern

Procedures blue
Variables pink
Comments green
Library gray