MCPcopy Create free account
hub / github.com/codemistic/Web-Development / show_spinner

Function show_spinner

Fidget Spinner/FidgetSpinner.py:39–92  ·  view source on GitHub ↗
(angle, color, dark_color)

Source from the content-addressed store, hash-verified

37
38# Drawing of Fidget Spinner on Pygame Window
39def show_spinner(angle, color, dark_color):
40 d = 80
41 innerd = 50
42 x = width/2 - d/2
43 y = height/2
44 l = 200
45 r = l/(3**0.5)
46 w = 10
47 lw = 60
48
49 # A little math for calculation the coordinates after rotation by some 'angle'
50 # x = originx + r*cos(angle)
51 # y = originy + r*sin(angle)
52
53 centre = [x, y, d, d]
54 centre_inner = [x + d/2 - innerd/2, y + d/2 - innerd/2, innerd, innerd]
55
56 top = [x, y - l/(3)**0.5, d, d]
57 top_inner = [x, y - l/(3)**0.5, innerd, innerd]
58
59 top[0] = x + r*cos(radians(angle))
60 top[1] = y + r*sin(radians(angle))
61 top_inner[0] = x + d/2 - innerd/2 + r*cos(radians(angle))
62 top_inner[1] = y + d/2 - innerd/2 + r*sin(radians(angle))
63
64 left = [x - l/2, y + l/(2*(3)**0.5), d, d]
65 left_inner = [x, y - l/(3)**0.5, innerd, innerd]
66
67 left[0] = x + r*cos(radians(angle - 120))
68 left[1] = y + r*sin(radians(angle - 120))
69 left_inner[0] = x + d/2 - innerd/2 + r*cos(radians(angle - 120))
70 left_inner[1] = y + d/2 - innerd/2 + r*sin(radians(angle - 120))
71
72
73 right = [x + l/2, y + l/(2*(3)**0.5), d, d]
74 right_inner = [x, y - l/(3)**0.5, innerd, innerd]
75
76 right[0] = x + r*cos(radians(angle + 120))
77 right[1] = y + r*sin(radians(angle + 120))
78 right_inner[0] = x + d/2 - innerd/2 + r*cos(radians(angle + 120))
79 right_inner[1] = y + d/2 - innerd/2 + r*sin(radians(angle + 120))
80
81 # Drawing shapes on Pygame Window
82 pygame.draw.line(display, dark_color, (top[0] + d/2, top[1] + d/2), (centre[0] + d/2, centre[1] + d/2), lw)
83 pygame.draw.line(display, dark_color, (left[0] + d/2, left[1] + d/2), (centre[0] + d/2, centre[1] + d/2), lw)
84 pygame.draw.line(display, dark_color, (right[0] + d/2, right[1] + d/2), (centre[0] + d/2, centre[1] + d/2), lw)
85 pygame.draw.ellipse(display, color, tuple(centre))
86 pygame.draw.ellipse(display, dark_color, tuple(centre_inner))
87 pygame.draw.ellipse(display, color, tuple(top))
88 pygame.draw.ellipse(display, dark_gray, tuple(top_inner), 10)
89 pygame.draw.ellipse(display, color, tuple(left))
90 pygame.draw.ellipse(display, dark_gray, tuple(left_inner), 10)
91 pygame.draw.ellipse(display, color, tuple(right))
92 pygame.draw.ellipse(display, dark_gray, tuple(right_inner), 10)
93
94
95# Displaying Information on Pygame Window

Callers 1

spinnerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected