-- Repeatedly transform an animation. Each transformation -- stretches and speeds up the given image, and puts two -- copies into orbit. repSpinner :: RealB -> RealB -> ImageB -> Int -> ImageB repSpinner r s im n = iterate spinner im !! n where spinner im = orbit `over` later 1 orbit where orbit = move path (faster r (stretch s im)) path = vector2Polar 0.5 (pi*time)
repSpinner (-1) 0.5 charlotte 3
repSpinner (1.5) 0.6 pat 4
repSpinner (-0.5) 0.6 becky 4
repSpinner (- sqrt 2) (sqrt 2 / 2) jake 4