1startshape garden
2
3CF::Impure = 1
4
5path flower {
6  petals = randint(5, 9)
7  filled = randint(2)
8  MOVETO(cos(-180/petals), sin(-180/petals))
9  loop petals [r (360/petals)]
10    ARCTO(cos(180/petals), sin(180/petals),
11          0.4, 0.4 + 0.2 * (petals - 5), 90)
12  CLOSEPOLY(CF::Align)
13  if (filled) FILL[a -0.5]
14  MOVETO(0.65, 0)
15  ARCTO(-0.65, 0, 0.65, CF::ArcCW)
16  ARCTO( 0.65, 0, 0.65, CF::ArcCW)
17  CLOSEPOLY()
18  FILL[a -0.5]
19}
20
21shape garden {
22  clone [], [x 4]
23    flower [r 0…360 h 0…360 sat 1 b 1]
24}
25
26