香港精选十码特,10号包围特,期期必出30码网站,8码连准13期香港精选十码特,10号包围特,期期必出30码网站,8码连准13期

您现在所的位置:主页 > 期期必出30码网站 >

为什么3X3矩阵不能表示平移变换?

时间:2020-02-13 10:11  来源:未知   作者:admin   点击:

  可能因为矩阵乘法可以表示一个坐标点相对于原点的缩放、旋转吧,有的人就想连平移也统一成矩阵乘法,就出现了这篇博客讲的四维齐次空间表示平移:网页链接

  根据我的理解,4x4的矩阵中,左上角的3x3是一个单位矩阵,与(x,y,z)相乘之后仍然是(x,y,z),作矩阵乘法的过程中(坐标向量的行元素分别乘以变换矩阵的第一列的元素再相加就是新的x)加上第四行的(dx,dy,dz)就达到了上面提到的向量a +△a的效果,

  所以我看,要轻松地用矩阵乘法表示平移,变换矩阵至少要用4x3的矩阵表示吧?

  但是矩阵乘法严格规定了A乘以B时,要满足A的列数等于B的行数,现在B的行数已经决定是4了,那A的列数不能是3,只能是4,这样表示点的坐标就是(x,y,z,w)了,

  另外,如果A的形状是1x4(一行四列),B的形状是4x3,的确就可以作乘法运算了呢,但是算出来的形状却是1x3的,跟变换之前的A维度都不同了,所以B得加一列,变成4x4,这样就能确保一步到位,比如GPU平移一个点三次,你只需要反复作三次矩阵乘法运算,不用额外的指令来改变A的维度。

  补充:线性代数中对于坐标变换的定义我记得是y=Cx,其中y、x各是n维列向量,C为n阶方阵,如果遵从这样的定义来找出一个表示平移变换的方阵C,使得对于任意的x,y=Cx表示x平移变换后的y,应该是找不出用3阶矩阵和3维列向量表示3维坐标的平移变换的,只能用4阶矩阵和4维列向量表示3维坐标的平移变换。

香港精选十码特   10号包围特   期期必出30码网站   8码连准13期   
Power by DedeCms