import Graphics.Gloss
main = animate (InWindow "machina" (800, 600) (10, 10))
black frame
frame time
= Scale 0.8 0.8
$ Rotate (time * 30)
$ mach time 6
mach t 0 = leaf
mach t d
= Pictures
[ leaf
, Translate 0 (-100)
$ Scale 0.8 0.8
$ Rotate (90 + t * 30)
$ mach (t * 1.5) (d - 1)
, Translate 0 100
$ Scale 0.8 0.8
$ Rotate (90 - t * 30)
$ mach (t * 1.5) (d - 1) ]
leaf = Pictures
[ Color (makeColor 1.0 1.0 1.0 0.5) $ Polygon loop
, Color (makeColor 0.0 0.0 1.0 0.8) $ Line loop ]
loop = [(-10, -100), (-10, 100), (10, 100), (10, -100), (-10, -100)]