|  (add thumb) |  (add code) | ||
| Line 2: | Line 2: | ||
| [[File:My_robot.png|100x100px|thumb|left]] | [[File:My_robot.png|100x100px|thumb|left]] | ||
| <br style="clear:both"> | |||
| <pre style="font-size:smaller" > | |||
| """ | |||
| 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() | |||
| </pre> | |||
Revision as of 17:40, 22 April 2015
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()
    
 
		