GMU:Bots 'n' Plots/Martin Schneider

From Medien Wiki
< GMU:Bots 'n' Plots
Revision as of 17:40, 22 April 2015 by Ms (talk | contribs) (add code)

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()