Code Sketch
Grow Shrink Rotate Animation
Category: Programming
cleari()
def patternOfCircles:Picture = Picture{
right(360,50)
left(360,50)
right()
right(360,50)
left(360,50)
}
case class AngleAndSize(angle:Long, size:Long, direction:Long){
def next = size match {
case 0 => AngleAndSize(angle+1, size+1, 1)
case 100 => AngleAndSize(angle+1, size-1, -1)
case _ => AngleAndSize(angle+1, size+direction, direction)
}
def drawing =
patternOfCircles.thatsScaled(size*2/100.0).thatsRotated(-angle)
}
def initialState = AngleAndSize(0,0,1)
animateWithRedraw[AngleAndSize](
initialState,
_.next,
_.drawing
)