围绕世界的Z轴旋转

时间:2019-07-03 10:59:38

标签: python rotation euler-angles

我正在尝试旋转以固定相机的姿态,因为其中一个轴似乎已关闭。我怀疑该轴为“世界”框架的Z。换句话说,我需要将“ stereo_camera”框架绕“世界框架”的Z轴旋转90度。那一切应该没问题。

enter image description here

我尝试使用多个Python库和Octave实现此目的,但失败了。乘法或我表达四分之一数的方式似乎不符合要求。

# Here is the current quarternion of "stereo_camera"
q = np.array([0.0, 0.70710678, 0.0, 0.70710678])

# Rotation matrix, 90 degrees around Z would be:
I = np.array([[0, -1, 0],[1,0,0],[0,0,1]])

# apply the transformation
q.dot(I)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: shapes (4,) and (3,3) not aligned: 4 (dim 0) != 3 (dim 0)

有没有人可以建议我一个不错的Python程序包,以最少的示例处理这种情况?将一圈旋转到四分之一圈应该不难。

1 个答案:

答案 0 :(得分:0)

因此,必须做的是使用旋转矩阵,而不是四分之一圆。我用this从四分之一转换为旋转矩阵。

旋转矩阵是一个看起来像这样的矩阵:

[  0.0000000, -1.0000000,  0.0000000;
   0.0000000,  0.0000000,  1.0000000;
  -1.0000000,  0.0000000,  0.0000000 ]

一旦获取了此矩阵,就可以将其相乘。