如何将3x3旋转矩阵转换为4x4矩阵?

时间:2011-01-28 21:50:00

标签: math 3d matrix rotation

我目前正在使用3x3旋转矩阵来处理3D点。

此矩阵与4x4矩阵有何不同?

如何将3x3矩阵转换为4x4?

3 个答案:

答案 0 :(得分:18)

4x4矩阵可用于在单个矩阵中进行旋转和平移。

矩阵右侧的txty值将添加到您正在转换的顶点的x,y,z。

因此,要将3x3矩阵转换为4x4,您只需复制3x3左上方块的值,如下所示:

[ a11  a12  a13 ]
[ a21  a22  a23 ]
[ a31  a32  a33 ]

3x3成为这个4x4

[ a11  a12  a13  0 ]
[ a21  a22  a23  0 ]
[ a31  a32  a33  0 ]
[   0    0    0  1 ]

注意在4x4中,左上方的块被直接复制,并且为其他新的额外条目输入了0(表示我不希望添加任何翻译)。

答案 1 :(得分:2)

4x4矩阵将支持所有仿射变换,包括旋转和平移。

请参阅此问题的答案:Solution to skew bitmaps in flash

关于血腥数学,请参阅:http://www.euclideanspace.com/maths/geometry/affine/matrix4x4/index.htm

答案 2 :(得分:1)

4x4矩阵允许affine transformations个三维向量。