(Robot Image embet) |
No edit summary |
||
| Line 4: | Line 4: | ||
[[File:Robot_const.jpg]] | [[File:Robot_const.jpg]] | ||
==== Animated Robot ==== | |||
[[File:Robot_Const.gif]] | |||
==== Robot Code ==== | |||
<pre style="font-size:smaller" > | |||
""" | |||
My Animated Robot | |||
""" | |||
#Variablen | |||
widthBox = 400 | |||
heightBox = widthBox | |||
centerx = widthBox / 2 | |||
centery = heightBox / 2 | |||
koerper = widthBox / 3 | |||
kopf = koerper / 1.5 | |||
auge = kopf / 6 | |||
blauKopf = 0 | |||
gruenKopf = 90 | |||
rotKopf = 100 | |||
#Ausgabe | |||
def setup(): | |||
size (widthBox,heightBox) | |||
colorMode (RGB, 100) | |||
def draw(): | |||
#Moving per Frame | |||
frameRate (25) | |||
angle = PI/8 * sin(frameCount * 0.1) | |||
#Growing Up | |||
global auge | |||
if auge<30: | |||
auge=auge+2 | |||
else: | |||
auge=10 | |||
global kopf | |||
if kopf<140: | |||
kopf=kopf+2 | |||
else: | |||
kopf = koerper / 1.5 | |||
global blauKopf | |||
global gruenKopf | |||
global rotKopf | |||
if kopf>koerper / 1.5 and kopf<130: | |||
blauKopf = blauKopf + 5 | |||
gruenKopf = gruenKopf -2 | |||
rotKopf = rotKopf -2 | |||
elif kopf > 130 and kopf < 140: | |||
blauKopf = 0 | |||
gruenKopf = 0 | |||
rotKopf = 100 | |||
else: | |||
blauKopf=0 | |||
gruenKopf = 90 | |||
rotKopf = 100 | |||
#Variablen BG | |||
R = random(30,60) | |||
G = random(50,80) | |||
B = random(70,90) | |||
#Variablen Fill | |||
RF = random(20,50) | |||
GF = random(0,30) | |||
BF = random(10,40) | |||
#define | |||
background(R,G,B) | |||
rectMode(CENTER) | |||
fill (RF,GF,BF) | |||
stroke (90) | |||
strokeWeight(5) | |||
#---Körper--- | |||
rect (centerx, centery, koerper, koerper) | |||
#---Kopf--- | |||
pushStyle() | |||
fill (rotKopf, gruenKopf, blauKopf) | |||
ellipse (centerx, centery-koerper+(kopf*0.25), kopf, kopf) | |||
popStyle() | |||
# Variablen Auge | |||
AugeX1 = centerx - 17 | |||
AugeY1 = centerx - koerper*0.875 | |||
AugeX2 = centerx + 17 | |||
AugeY2 = centerx - koerper*0.875 | |||
#---Auge01--- | |||
drawAuge(AugeX1, AugeY1, 1) | |||
#---Auge02--- | |||
drawAuge(AugeX2, AugeY2, -1) | |||
# Arm positions | |||
posLx = centerx - koerper / 2 | |||
posLy = centery - koerper / 2 | |||
posRx = centerx + koerper / 2 | |||
posRy = centery - koerper / 2 | |||
# Bein positions | |||
posBLx = centerx - koerper / 2 | |||
posBLy = centery + koerper / 2 | |||
posBRx = centerx + koerper / 2 | |||
posBRy = centery + koerper / 2 | |||
#---Left Arm--- | |||
drawArm(posLx-30, posLy-15, 1, angle) | |||
#---Right Arm--- | |||
drawArm(posRx+30, posRy-15, -1, angle) | |||
#---Bein Links--- | |||
drawBein(posBLx, posBLy) | |||
#---Bein Rechts--- | |||
drawBein(posBRx-40, posBRy) | |||
#Eigene Funktionen | |||
def drawAuge (xpos, ypos, direction): | |||
pushMatrix() | |||
pushStyle() | |||
fill (80,80,100) | |||
stroke (40) | |||
strokeWeight(2) | |||
translate (xpos, ypos) | |||
scale(direction,1) | |||
ellipse (0,0,auge,auge) | |||
popStyle() | |||
popMatrix() | |||
def drawArm (xpos, ypos, direction, angle): | |||
pushMatrix() | |||
translate(xpos,ypos) | |||
scale(direction,1) | |||
rotate(angle) | |||
rectMode(CORNER) | |||
rect(0,0,30,130) | |||
popMatrix() | |||
def drawBein (xpos, ypos): | |||
pushMatrix() | |||
pushStyle() | |||
fill(10,10,40) | |||
translate(xpos,ypos) | |||
rectMode(CORNER) | |||
rect(0,0,40,90) | |||
popMatrix() | |||
popStyle() | |||
saveFrame("robot_const_###.png") | |||
</pre> | |||
Revision as of 14:32, 29 April 2015
Page of Constantin Oestreich
Twitter: @ConstOest
Animated Robot
Robot Code
"""
My Animated Robot
"""
#Variablen
widthBox = 400
heightBox = widthBox
centerx = widthBox / 2
centery = heightBox / 2
koerper = widthBox / 3
kopf = koerper / 1.5
auge = kopf / 6
blauKopf = 0
gruenKopf = 90
rotKopf = 100
#Ausgabe
def setup():
size (widthBox,heightBox)
colorMode (RGB, 100)
def draw():
#Moving per Frame
frameRate (25)
angle = PI/8 * sin(frameCount * 0.1)
#Growing Up
global auge
if auge<30:
auge=auge+2
else:
auge=10
global kopf
if kopf<140:
kopf=kopf+2
else:
kopf = koerper / 1.5
global blauKopf
global gruenKopf
global rotKopf
if kopf>koerper / 1.5 and kopf<130:
blauKopf = blauKopf + 5
gruenKopf = gruenKopf -2
rotKopf = rotKopf -2
elif kopf > 130 and kopf < 140:
blauKopf = 0
gruenKopf = 0
rotKopf = 100
else:
blauKopf=0
gruenKopf = 90
rotKopf = 100
#Variablen BG
R = random(30,60)
G = random(50,80)
B = random(70,90)
#Variablen Fill
RF = random(20,50)
GF = random(0,30)
BF = random(10,40)
#define
background(R,G,B)
rectMode(CENTER)
fill (RF,GF,BF)
stroke (90)
strokeWeight(5)
#---Körper---
rect (centerx, centery, koerper, koerper)
#---Kopf---
pushStyle()
fill (rotKopf, gruenKopf, blauKopf)
ellipse (centerx, centery-koerper+(kopf*0.25), kopf, kopf)
popStyle()
# Variablen Auge
AugeX1 = centerx - 17
AugeY1 = centerx - koerper*0.875
AugeX2 = centerx + 17
AugeY2 = centerx - koerper*0.875
#---Auge01---
drawAuge(AugeX1, AugeY1, 1)
#---Auge02---
drawAuge(AugeX2, AugeY2, -1)
# Arm positions
posLx = centerx - koerper / 2
posLy = centery - koerper / 2
posRx = centerx + koerper / 2
posRy = centery - koerper / 2
# Bein positions
posBLx = centerx - koerper / 2
posBLy = centery + koerper / 2
posBRx = centerx + koerper / 2
posBRy = centery + koerper / 2
#---Left Arm---
drawArm(posLx-30, posLy-15, 1, angle)
#---Right Arm---
drawArm(posRx+30, posRy-15, -1, angle)
#---Bein Links---
drawBein(posBLx, posBLy)
#---Bein Rechts---
drawBein(posBRx-40, posBRy)
#Eigene Funktionen
def drawAuge (xpos, ypos, direction):
pushMatrix()
pushStyle()
fill (80,80,100)
stroke (40)
strokeWeight(2)
translate (xpos, ypos)
scale(direction,1)
ellipse (0,0,auge,auge)
popStyle()
popMatrix()
def drawArm (xpos, ypos, direction, angle):
pushMatrix()
translate(xpos,ypos)
scale(direction,1)
rotate(angle)
rectMode(CORNER)
rect(0,0,30,130)
popMatrix()
def drawBein (xpos, ypos):
pushMatrix()
pushStyle()
fill(10,10,40)
translate(xpos,ypos)
rectMode(CORNER)
rect(0,0,40,90)
popMatrix()
popStyle()
saveFrame("robot_const_###.png")

