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