(a, b, c)
| 13 | |
| 14 | |
| 15 | def calculate_angle(a, b, c): |
| 16 | a = np.array(a) # First |
| 17 | b = np.array(b) # Mid |
| 18 | c = np.array(c) # End |
| 19 | |
| 20 | radians = np.arctan2(c[1] - b[1], c[0] - b[0]) - np.arctan2( |
| 21 | a[1] - b[1], a[0] - b[0] |
| 22 | ) |
| 23 | angle = np.abs(radians * 180.0 / np.pi) |
| 24 | |
| 25 | if angle > 180.0: |
| 26 | angle = 360 - angle |
| 27 | |
| 28 | return angle |
| 29 | |
| 30 | |
| 31 | # Setup mediapipe instance |