-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtriangle.py
28 lines (24 loc) · 979 Bytes
/
triangle.py
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
# draw and rotate equilateral triangles for the visual stimulation
from math import cos, pi, sin
class triangle():
# length from centre to point
# rotation in [0, 1]
def __init__(self, canvas, x, y, radius, rotation, colour='white'):
self.canvas = canvas
self.x = x
self.y = y
self.radius = radius
self.radians = rotation * 2 * pi
self.colour = colour
def draw(self):
r1 = self.radians
r2 = self.radians + 2 * pi / 3
r3 = self.radians + 4 * pi / 3
self.canvas.create_polygon(self.x + self.radius * cos(r1), \
self.y + self.radius * sin(r1), \
self.x + self.radius * cos(r2), \
self.y + self.radius * sin(r2), \
self.x + self.radius * cos(r3), \
self.y + self.radius * sin(r3), fill=self.colour)
def rotate(self, amount):
self.radians += amount * 2 * pi * (1 if self.radians > 0 else -1)