-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRobot.py
More file actions
63 lines (53 loc) · 2.53 KB
/
Robot.py
File metadata and controls
63 lines (53 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
from ThreeDObject import ThreeDObject
class Robot:
def __init__(self):
self.foot = ThreeDObject()
self.foot.scale([2.0,0.0,0.0])
self.foot.move([0.5,0.0,0.0])
self.foot.addDraw("glutSolidSphere(1.0,20,20)")
self.sleg = ThreeDObject()
self.sleg.move([0.0,0.0,-1.0])
self.sleg.addChild([[[0.0,0.0,0.0],[0.0,0.0,1.0,0.0],[0.5,0.5,0.5]],\
self.foot])
self.sleg.addDraw("glutSolidCylinder(0.5,1.0,20,20)")
self.leg = ThreeDObject()
self.leg.move([0.0,0.0,-0.5])
self.leg.addChild([[[0.0,0.0,0.0],[0.0,0.0,1.0,0.0],[0.5,0.5,0.5]],\
self.sleg])
self.leg.addDraw("glutSolidCylinder(0.25,0.5,20,20)")
self.hand = ThreeDObject()
self.hand.move([0.0,0.0,-0.8])
self.hand.addDraw("glutSolidSphere(1.2,20,20)")
self.sarm = ThreeDObject()
self.sarm.move([0.0,0.0,-1.0])
self.sarm.addChild([[[0.0,0.0,0.0],[0.0,0.0,1.0,0.0],[0.5,0.5,0.5]],\
self.hand])
self.sarm.addDraw("glutSolidCylinder(0.5,1.0,20,20)")
self.arm = ThreeDObject()
self.arm.move([0.0,0.0,-0.5])
self.arm.addChild([[[0.0,0.0,0.0],[0.0,0.0,1.0,0.0],[0.5,0.5,0.5]],\
self.sarm])
self.arm.addDraw("glutSolidCylinder(0.25,0.5,20,20)")
self.eye = ThreeDObject()
self.eye.addDraw("glutSolidSphere(0.1,10,10)")
self.head = ThreeDObject()
self.head.addChild([[[0.5,0.25,0.25],[0.0,1.0,0.0,0.0],[1.0,1.0,1.0]],\
self.eye])
self.head.addChild([[[0.5,-0.25,0.25],[0.0,1.0,0.0,0.0],[1.0,1.0,1.0]],\
self.eye])
self.head.addDraw("glutSolidSphere(0.5,20,20)")
self.body = ThreeDObject()
self.body.move([0.0,0.0,0.5])
self.body.addChild([[[0.0,-0.125,0.0],[0.0,0.0,1.0,0.0],[0.5,0.5,0.5]],\
self.leg])
self.body.addChild([[[0.0, 0.125,0.0],[0.0,0.0,1.0,0.0],[0.5,0.5,0.5]],\
self.leg])
self.body.addChild([[[0.0,-0.375,0.5],[0.0,0.0,1.0,0.0],[0.5,0.5,0.5]],\
self.arm])
self.body.addChild([[[0.0, 0.375,0.5],[0.0,0.0,1.0,0.0],[0.5,0.5,0.5]],\
self.arm])
self.body.addChild([[[0.0,0.0,0.75],[0.0,0.0,0.0,1.0],[0.5,0.5,0.5]],\
self.head])
self.body.addDraw("glutSolidCylinder(0.25,0.5,20,20)")
def draw(self):
self.body.draw()