J'ai déjà écrit un article sur la cinématique elle-même, mais quand je pensais qu'il y avait une manière sage de l'écrire en traitant de l'axe n, j'ai pensé qu'il serait possible de revenir en arrière.
arm.py
x1 = L1 * np.cos(deg1)
y1 = L1 * np.sin(deg1)
x2 = x1 + L2 * np.cos(deg1+deg2)
y2 = y1 + L2 * np.sin(deg1+deg2)
x3 = x2 + L3 * np.cos(deg1+deg2+deg3)
y3 = y2 + L3 * np.sin(deg1+deg2+deg3)
Il n'y a pas d'ambiance qui semble pouvoir se reproduire ???
arm.py
def test(x,y,deg,L,n):
if n < len(x)-1:
x[n] = L[n]*math.cos(deg[n]) + x[n-1]
y[n] = L[n]*math.sin(deg[n]) + y[n-1]
return test(x,y,deg,L,n+1)
elif n >= len(x)-1:
x[n] = L[n]*math.cos(deg[n]) + x[n-1]
y[n] = L[n]*math.sin(deg[n]) + y[n-1]
return x,y
_x = [0]*3
_y = [0]*3
deg = [0.0,math.pi*0.5,0.0]
L = [1,1,1]
print(test(_x,_y,deg,L,0))
([1.0, 1.0, 2.0], [0.0, 1.0, 1.0])
J'ai eu du mal à l'improviste, mais cela a pris forme.
Recommended Posts