1

我找不到 scipy 坐标系的定义。我尝试了几个值(假设是右手系统)但得到了一个奇怪的结果。例如:

from scipy.spatial.transform import Rotation as R
R.from_euler('zyx', angles=np.array([90,0,0]), degrees=True).as_matrix()
[ [ 0., -1.,  0.], [ 1.,  0.,  0.],  [ 0.,  0.,  1.]]

意味着围绕 z 轴的逆时针旋转(对于右手系统来说是正确的)是反向的(意味着左坐标系)......

我在哪里可以找到定义??

谢谢!!!

4

1 回答 1

1

Scipy 的 Rotation 模块的完整文档可以在这里找到。特别是对于您的问题,我不确定是否确实存在问题。查看Wikipedia,90 度旋转确实是逆时针方向,因此最初与 x 轴对齐的向量变为与 y 轴对齐。我相信这与下面代码的结果一致。

from scipy.spatial.transform import Rotation as R

point = (5, 0, -2)
print(R.from_euler('z', angles=90, degrees=True).as_matrix() @ point)
# [0, 5, -2]
于 2021-01-22T03:23:41.763 回答