给定:
- 相机坐标中的一个向量 (x, y, z)(相机位于 (0, 0, 0))
- 在相机坐标中具有 (Tx, Ty, Tz) 位置和 (Rx, Ry, Rz) 旋转的对象
如何将相机坐标中的矢量 (x, y, z) 转换为对象坐标中的 (x', y', z')?
我认为我可以这样做来旋转:
import pandas as pd
import matplotlib.pyplot as plt
from scipy.spatial.transform import Rotation as R
euler_angles = df_train[['pose_Rx', 'pose_Ry', 'pose_Rz']].to_numpy()
r = R.from_euler('xyz', euler_angles, degrees=False)
vectors = df_train[['gaze_0_x', 'gaze_0_y', 'gaze_0_z']].to_numpy()
rotate_vectors = r.apply(vectors)
rotate_vectors
但首先,我不确定我是否以正确的方式应用转换,其次我不知道如何同时执行平移和旋转。
谢谢