27 lines
504 B
Python
27 lines
504 B
Python
|
import sympy as sm
|
||
|
import sympy.physics.mechanics as me
|
||
|
me.init_vprinting(use_latex='mathjax')
|
||
|
|
||
|
l = sm.symbols('l')
|
||
|
q1, q2, u1, u2 = me.dynamicsymbols('q1, q2, u1, u2')
|
||
|
|
||
|
N = me.ReferenceFrame('N')
|
||
|
A = me.ReferenceFrame('A')
|
||
|
B = me.ReferenceFrame('B')
|
||
|
|
||
|
A.orient_axis(N, q1, N.z)
|
||
|
B.orient_axis(N, q2, N.z)
|
||
|
|
||
|
O = me.Point('O')
|
||
|
P1 = me.Point('P1')
|
||
|
P2 = me.Point('P2')
|
||
|
|
||
|
O.set_vel(N, 0)
|
||
|
|
||
|
P1.set_pos(O, -l*A.y)
|
||
|
P2.set_pos(P1, -l*B.y)
|
||
|
|
||
|
P1.v2pt_theory(O, N, A)
|
||
|
P2.v2pt_theory(P1, N, B)
|
||
|
|
||
|
print(P1.vel(N).express(N))
|