Martin's Demo Page
"""
My little robot
"""
# Parameters
diameter = 400
centerx = diameter / 2
centery = diameter / 2
boxsize = 40
# Drawing style
def setup():
# Set up Canvas
colorMode(RGB, 1)
size(diameter, diameter)
def draw():
# increase boxsize with every single frame
boxsize = 100 + 50 * sin(frameCount * 0.1)
angle = PI/8 * sin(frameCount * 0.1)
background(1, .8, .8)
# define style
fill(1, .5)
rectMode(CENTER)
fill(1, .5)
stroke(1)
strokeWeight(10)
# Body
rect(centerx, centery, boxsize, boxsize)
# Arm positions
position1x = centerx - boxsize / 2
position1y = centery - boxsize / 2
position2x = centerx + boxsize / 2
position2y = centery - boxsize / 2
# Right Arms
drawArm(position2x, position2y, +1, angle - TWO_PI * 3/8)
drawArm(position2x, position2y + boxsize/2, +1, angle)
# Left Arms
drawArm(position1x, position1y, -1, angle -TWO_PI * 3/8)
drawArm(position1x, position1y + boxsize/2, -1, angle)
# Head
pushStyle()
fill(.5, .5 ,1, .5)
ellipse(centerx, centery - boxsize, boxsize, boxsize)
popStyle()
# saveFrame("my_robot_######.gif")
# print(frameRate)
def drawArm(xpos, ypos, direction, angle = -TWO_PI /8):
pushMatrix()
translate(xpos, ypos)
scale(direction, 1)
rotate(angle)
rectMode(CORNER)
rect(0, 0, 20, 150)
popMatrix()