|
@@ -1,45 +1,45 @@
|
|
|
-import matplotlib.pyplot as plt
|
|
|
-import numpy as np
|
|
|
-
|
|
|
-n = 100000
|
|
|
-
|
|
|
-l = [10, 26, 33, 30]
|
|
|
-
|
|
|
-alpha_0 = np.ones(n) * 90
|
|
|
-alpha_1 = np.random.uniform(0, 120, n)
|
|
|
-alpha_2 = np.random.uniform(-60, 60, n)
|
|
|
-alpha_3 = np.random.uniform(-100, 20, n)
|
|
|
-
|
|
|
-alpha = np.vstack((alpha_0, alpha_1, alpha_2, alpha_3)) * (np.pi / 180)
|
|
|
-start_x = 0
|
|
|
-start_y = 0
|
|
|
-
|
|
|
-x0 = np.zeros(n)
|
|
|
-y0 = np.zeros(n)
|
|
|
-x1 = np.zeros(n)
|
|
|
-y1 = np.zeros(n)
|
|
|
-x2 = np.zeros(n)
|
|
|
-y2 = np.zeros(n)
|
|
|
-x3 = np.zeros(n)
|
|
|
-y3 = np.zeros(n)
|
|
|
-
|
|
|
-for dim in range(n):
|
|
|
- x0[dim] = start_x + np.cos(alpha[0, dim]) * l[0]
|
|
|
- y0[dim] = start_y + np.sin(alpha[0, dim]) * l[0]
|
|
|
-
|
|
|
- x1[dim] = x0[dim] + np.cos(alpha[1, dim]) * l[1]
|
|
|
- y1[dim] = y0[dim] + np.sin(alpha[1, dim]) * l[1]
|
|
|
-
|
|
|
- x2[dim] = x1[dim] + np.cos(alpha[2, dim]) * l[2]
|
|
|
- y2[dim] = y1[dim] + np.sin(alpha[2, dim]) * l[2]
|
|
|
-
|
|
|
- x3[dim] = x2[dim] + np.cos(alpha[3, dim]) * l[3]
|
|
|
- y3[dim] = y2[dim] + np.sin(alpha[3, dim]) * l[3]
|
|
|
-
|
|
|
-plt.scatter(x3, y3, marker='x', color='red')
|
|
|
-plt.xlabel('X in cm')
|
|
|
-plt.ylabel('Y in cm')
|
|
|
-plt.title('Movement')
|
|
|
-plt.grid()
|
|
|
-
|
|
|
-plt.show()
|
|
|
+import matplotlib.pyplot as plt
|
|
|
+import numpy as np
|
|
|
+
|
|
|
+n = 100000
|
|
|
+
|
|
|
+l = [10, 26, 33, 30]
|
|
|
+
|
|
|
+alpha_0 = np.ones(n) * 90
|
|
|
+alpha_1 = np.random.uniform(0, 120, n)
|
|
|
+alpha_2 = np.random.uniform(-60, 60, n)
|
|
|
+alpha_3 = np.random.uniform(-100, 20, n)
|
|
|
+
|
|
|
+alpha = np.vstack((alpha_0, alpha_1, alpha_2, alpha_3)) * (np.pi / 180)
|
|
|
+start_x = 0
|
|
|
+start_y = 0
|
|
|
+
|
|
|
+x0 = np.zeros(n)
|
|
|
+y0 = np.zeros(n)
|
|
|
+x1 = np.zeros(n)
|
|
|
+y1 = np.zeros(n)
|
|
|
+x2 = np.zeros(n)
|
|
|
+y2 = np.zeros(n)
|
|
|
+x3 = np.zeros(n)
|
|
|
+y3 = np.zeros(n)
|
|
|
+
|
|
|
+for dim in range(n):
|
|
|
+ x0[dim] = start_x + np.cos(alpha[0, dim]) * l[0]
|
|
|
+ y0[dim] = start_y + np.sin(alpha[0, dim]) * l[0]
|
|
|
+
|
|
|
+ x1[dim] = x0[dim] + np.cos(alpha[1, dim]) * l[1]
|
|
|
+ y1[dim] = y0[dim] + np.sin(alpha[1, dim]) * l[1]
|
|
|
+
|
|
|
+ x2[dim] = x1[dim] + np.cos(alpha[2, dim]) * l[2]
|
|
|
+ y2[dim] = y1[dim] + np.sin(alpha[2, dim]) * l[2]
|
|
|
+
|
|
|
+ x3[dim] = x2[dim] + np.cos(alpha[3, dim]) * l[3]
|
|
|
+ y3[dim] = y2[dim] + np.sin(alpha[3, dim]) * l[3]
|
|
|
+
|
|
|
+plt.scatter(x3, y3, marker='x', color='red')
|
|
|
+plt.xlabel('X in cm')
|
|
|
+plt.ylabel('Y in cm')
|
|
|
+plt.title('Movement')
|
|
|
+plt.grid()
|
|
|
+
|
|
|
+plt.show()
|