【问题标题】:2D rotation matrix applied on 3D points应用于 3D 点的 2D 旋转矩阵
【发布时间】:2015-12-18 10:56:54
【问题描述】:

我有旋转矩阵、平移向量和一组 3D 分类点(类别取决于 z 坐标)。 一个 2x2 的旋转矩阵 M 和一个 2x1 的平移向量 T 与一个类别相关。

如何在坐标 (x, y, z) 的每个点上应用我的旋转和平移矩阵? 是单纯的还是我误解了旋转矩阵的原理?

add to M a column and a line of 0 
add to T a 0 for the z-transformation
then : (x, y, z) = M * (xp, yp, zp) + T

【问题讨论】:

    标签: math matrix


    【解决方案1】:

    如果我对您的理解正确,您在 R^2 上进行了仿射变换,并且您希望将其提升到 R^3 上的仿射变换,以便将其应用于 (x,y,z) 时的效果是应用原始转换为(x,y) 并保持z 不变。

    如果是这样 - 你必须更仔细地修改你的矩阵。

    如果你的原始矩阵是

    M =  [a  b]
         [c  d]
    

    那么你的新矩阵应该是

    M' = [a  b  0]
         [c  d  0]
         [0  0  1]
    

    请注意右下角的 1 - 它是您描述的方法中缺少的成分。请注意,添加的行和列是 3x3 单位矩阵的第三行和第三列,这是有道理的,因为您希望结果类似于z 上的单位矩阵。这很容易解决

    [a  b  0]   [x]    [ax+by]
    [c  d  0]   [y]  = [cx+dy]
    [0  0  1]   [z]    [  z  ]
    

    这就是我认为你想要的。 (我不认为 Stack Overflow 对矩阵有任何标记,但我的符号应该足够清楚)

    您正在正确处理T(添加零 z 分量)。

    【讨论】:

      猜你喜欢
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-08
      相关资源
      最近更新 更多