我目前正在使用3x3旋转矩阵来处理3D点。
此矩阵与4x4矩阵有何不同?
如何将3x3矩阵转换为4x4?
答案 0 :(得分:18)
4x4矩阵可用于在单个矩阵中进行旋转和平移。
矩阵右侧的tx
,ty
值将添加到您正在转换的顶点的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个三维向量。