目录
旋转和角度计算
import numpy as np
from scipy.spatial.transform import Rotation as R
def rotate_vector(vector, axis='x',angle=90, order='zxy', new_order='xyz'):
# 创建绕X轴旋转90度的旋转对象
x_rotation = R.from_euler(axis, angle, degrees=True)
# 创建原始旋转对象,这里用[0, 0, 0]作为初始角度
original_rotation = R.from_euler(order, [0, 0, 0], degrees=True)
# 将向量转换为矩阵形式
vector_matrix = np.array([vector])
# 将两个旋转相乘得到最终旋转(先应用X轴旋转)
final_rotation = original_rotation * x_rotation
# 将最终旋转应用于向量
rotated_vector = final_rotation.appl