Untitled

 avatar
unknown
plain_text
a year ago
869 B
6
Indexable
import numpy as np

# Input values
v1x = float(input("vx_one:\n"))
v1y = float(input("vy_one:\n"))

v2x = float(input("vx_two:\n"))
v2y = float(input("vy_two:\n"))

a = float(input("alpha: "))
qn = int(input("q#:\n"))

if qn == 1:
    u1x = v2x
    u1y = v1y
    u2x = v1x
    u2y = v2y

elif qn == 2:
    a_rad = np.deg2rad(a)
    R = np.array([[np.cos(a_rad), -np.sin(a_rad)], [np.sin(a_rad), np.cos(a_rad)]])
    R_inverse = np.array([[np.cos(a_rad), np.sin(a_rad)], [-np.sin(a_rad), np.cos(a_rad)]])
    
    new_v1 = R_inverse.dot([v1x, v1y])
    new_v2 = R_inverse.dot([v2x, v2y])
    
    new_u1 = np.array([new_v2[0], new_v1[1]])
    new_u2 = np.array([new_v1[0], new_v2[1]])
    
    u1x, u1y = R.dot(new_u1)
    u2x, u2y = R.dot(new_u2)

# Output the resulting velocities
print(f'{u1x:.5g}\n{u1y:.5g}\n{u2x:.5g}\n{u2y:.5g}')
Editor is loading...
Leave a Comment