from sympy import symbols from sympy.physics.mechanics import * dir() help(ReferenceFrame) N = ReferenceFrame('N') dir(N) v = 1 * N.x + 2 * N.y + 3 * N.z print(v) 2 * v v / 3.0 v + v w = 5 * N.x + 7 * N.y v - w dir(v) v.magnitude() v.normalize() v.args dot(v, w) cross(v, w) a1, a2, a3 = symbols('a1 a2 a3') b1, b2, b3 = symbols('b1 b2 b3') x = a1 * N.x + a2 * N.y + a3 * N.z y = b1 * N.x + b2 * N.y + b3 * N.z dot(x, y) z = cross(x, y) z dot(v, x) z.diff(a1, N) A = ReferenceFrame('A') alpha = symbols('alpha') A.orient(N, 'Axis', [alpha, N.x]) A.dcm(N) v.express(A) z.express(A) beta, d = dynamicsymbols('beta d') beta, d B = A.orientnew('B', 'Axis', (beta, A.y)) vec = d * B.z B.ang_vel_in(N) vecdot = vec.dt(N) vecdot vecdot.express(N) theta = dynamicsymbols('theta') thetad = dynamicsymbols('theta', 1) theta, thetad