三维坐标旋转函数:
参数说明:
lot = 0,0,-47.5]
为带旋转点坐标
radian=[math.radians(54),math.radians(0),math.radians(298)]
为X、Y、Z轴旋转角度的对应弧度制
def rotateTransformation(lot, radian):
rot_matrix_x = linalg.expm(np.cross(np.eye(3), [1,0,0] / linalg.norm([1,0,0]) * radian[0]))
l_x = np.dot(rot_matrix_x,lot)
rot_matrix_y = linalg.expm(np.cross(np.eye(3), [0,1,0] / linalg.norm([0,1,0]) * radian[1]))
l_y = np.dot(rot_matrix_y,l_x)
rot_matrix_z = linalg.expm(np.cross(np.eye(3), [0,0,1] / linalg.norm([0,0,1]) * radian[2]))
l_z = np.dot(rot_matrix_z,l_y)
return l_z
lot = rotateTransformation([0,0,-47.5], [math.radians(54),math.radians(0),math.radians(298)])