import drawSvg as draw

# Draw a frame of the animation for bouncing ball
def draw_frame(y):
    d = draw.Drawing(250, 250, origin='center')
    d.append(draw.Circle(0, y, 25, fill='lime'))
    return d
               
# bounce the ball up and down
with draw.animate_jupyter(draw_frame, delay=0.05) as anim:
    anim.draw_frame(100)
    anim.draw_frame(90)
    anim.draw_frame(80)
    anim.draw_frame(70)
    anim.draw_frame(60)
    anim.draw_frame(50)
    anim.draw_frame(40)
    anim.draw_frame(30)
    anim.draw_frame(20)
    anim.draw_frame(10)
    anim.draw_frame(0)
    anim.draw_frame(10)
    anim.draw_frame(20)
    anim.draw_frame(30)
    anim.draw_frame(40)
    anim.draw_frame(50)
    anim.draw_frame(60)
    anim.draw_frame(70)
    anim.draw_frame(80)
    anim.draw_frame(90)
    anim.draw_frame(100)


import drawSvg as draw
import math

# Draw a frame of the animation for rotating square
def draw_frame(t):
    r = 100 # radius of circular trajectory
    x = r * math.cos(t*math.pi/180) # x-location on circular trajectory with radius r
    y = r * math.sin(t*math.pi/180) # y-location on circlar trajectory with radius r
    d = draw.Drawing(250, 250, origin='center')
    d.append(draw.Rectangle(x, y, 25, 25, fill='red'))
    return d
              
# rotate the square
with draw.animate_jupyter(draw_frame, delay=0.05) as anim:
    anim.draw_frame(0)
    anim.draw_frame(10)
    anim.draw_frame(20)
    anim.draw_frame(30)
    anim.draw_frame(40)
    anim.draw_frame(50)
    anim.draw_frame(60)
    anim.draw_frame(70)
    anim.draw_frame(80)
    anim.draw_frame(90)
    anim.draw_frame(100)
    anim.draw_frame(110)
    anim.draw_frame(120)
    anim.draw_frame(130)
    anim.draw_frame(140)
    anim.draw_frame(150)  
    anim.draw_frame(160)
    anim.draw_frame(170)  
    anim.draw_frame(180)                   


# A simple while loop
t = 0
while( t < 180 ):
    t = t + 10
    print(t)


# DRILL: rotate a square using a while loop
import drawSvg as draw
import math

# Draw a frame of the animation
def draw_frame(t):
    r = 100 # radius of circular trajectory
    x = r * math.cos(t*math.pi/180) # x-location on circular trajectory with radius r
    y = r * math.sin(t*math.pi/180) # y-location on circlar trajectory with radius r
    d = draw.Drawing(250, 250, origin='center')
    d.append(draw.Rectangle(x, y, 25, 25, fill='red'))
    return d
               
# rotate the square
with draw.animate_jupyter(draw_frame, delay=0.05) as anim:
    t = 0
    while( t < 360 ):
        anim.draw_frame(t)
        t = t + 10

