如何使用python中的坐标旋转立方体

时间:2019-05-25 15:41:57

标签: python computer-vision

我想可视化旋转的多维数据集,我必须使用其坐标来完成。我只想知道我必须对所有坐标应用什么公式或函数 预先谢谢你

多维数据集坐标

# coordinates
cube = np.array([
    [0,0,0],
    [1,0,0],
    [1,1,0],
    [0,1,0],
    [0,0,0],

    [0,0,1],
    [1,0,1],
    [1,1,1],
    [0,1,1],
    [0,0,1],

    [1,0,1],
    [1,0,0],
    [1,1,0],
    [1,1,1],
    [0,1,1],
    [0,1,0]
    ])

1 个答案:

答案 0 :(得分:1)

只需将立方的齐次坐标矩阵与所需的旋转矩阵相乘即可​​。首先,我建议您使用Google搜索3D平移和旋转矩阵。假设您要绕Z轴旋转3D点P(1,0,0)和Q(2,0,0)角度theta度,则所需的python代码如下所示:

import numpy as np
import math
pointsMatrix=np.array([[1,2],[0,0],[0,0]])
R_z = np.array([[math.cos(theta),    -math.sin(theta),    0],
                    [math.sin(theta),    math.cos(theta),     0],
                    [0,                     0,                      1]
                    ])
rotatedPoints=np.dot(R_z,pointsMatrix)

print("Rotated points \n",rotatedPoints)

如果要绕不同的轴旋转,请相应地使用旋转矩阵。如果上述解决方案对您有所帮助,请不要忘记投票赞成答案,这将极大地鼓舞我。