资源描述:
《3D数学----矩阵的更多知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、4D向量和4x4矩阵不过是对3D运算的一种方便的记忆而己。4D齐次空间4D向量有4个分量,前3个是标准的x,y和z分量,第4个是w,有时称作齐次坐标。为了理解标准3D坐标是怎样扩展到4D坐标的,让我们先看一下2D中的齐次坐标,它的形式为(x,y,w)o想象在3D中w=l处的标准2D平面,实际的2D点(x,y)用齐次坐标表示为(x,y,1),对于那些不在w二1平面上的点,则将它们投影到w二1平面上。所以齐次坐标(x,y,w)映射的实际2D点为(x/w,y/w)o如图9.2所示:A1/・Figure92Projectinghomagenouscoordtheplanew=1in2D因此,给
2、定一个2D点(x,y),齐次空间中有无数多个点与之对应。所有点的形式都为(kx,ky,k),kHO。这些点构成一条穿过齐次原点的直线。当尸0时,除法未定义,因此不存在实际的2D点。然而,可以将2D齐次点(x,y,0)解释为〃位于无穷远的点〃,它描述了一个方向而不是一个位置。4D坐标的基本思想相同,实际的3D点被认为是在4D屮w二1〃平面〃上。4D点的形式为(x,y,z,w),将4D点投影到这个〃平面〃上得到相应的实际3D点(x/w,y/w,z/w)。w二0时4D点表示〃无限远点〃,它描述了一个方向而不是一个位置。4X4平移矩阵3x3变换矩阵表示的是线性变换,不包折平移。因为矩阵乘法的
3、性质,零向量总是变换成零向量。因此,任何能用矩阵乘法表达的变换都不包含平移。这很不幸,因为矩阵乘法和它的逆是一种非常方便的工具,不仅可以用来将复杂的变换组合成简单的单」变换,还可以操纵嵌入式坐标系间的关系。如果能找到一种方法将3x3变换矩阵进行扩展,使它能处理平移,这将是一件多么美妙的事情啊。4x4矩阵恰好提供了一种数学上的〃技巧〃,使我们能够做到这一点。暂时假设w总是等于1。那么,标准3D向量[x,y,z]对应的4D向量为[x,y,z,1]0任意3x3变换矩阵在4D中表示为:任意一个形如[x,y,z,1]的向量乘以上面形式的矩阵,其结果和标准的3x3情况相同,只是结果是用w二1的4D
4、向量表示的:・和〃1:1++:〃'貂"Hi"12yz1]川31川32()■0〃仃1nr13川212〃沙3〃坤3[和"】】+///n2
5、+:山31.rm12+卯?2+□130"()山33001[mil+"〃切+“川22卜vm32才/"13+"〃匕3+二山;岗1现在,到了最冇趣的部分。在4D中,仍然可以用矩阵乘法来表达平移,如公式9.10所示,而在3D中是不可能的:Equation9.10:Usinga4x4matrixtoperformtranslationin3D记住,即使是在4D中,矩阵乘法仍然是线性变换。矩阵乘法不能表达4D中的〃平移〃,4D零向量也将总是被变换成零向量。这个技巧之
6、所以能在3D中平移点是因为我们实际上是在切变4D空间。与实际3D空间相对应的4D中的〃平面〃并没有穿过4D中的原点。因此,我们能通过切变4D空间来实现3D中的平移。设想没有平移的变换后接一个有平移的变换会发生什么情况呢?设R为旋转矩阵(实际上,R还能包含其他的3D线性变换,但现在假设R只包含旋转),T为形如公式9・「10的变换矩阵:■“13■0■1000R=「21心1「3300・T二()()1001000001■sr■4/AC1将向量v先旋转再平移,新的向量v'计算如下:注意,变换的顺序是非常重要的。因为我们使用的是行向量,变换的顺序必须和矩阵乘法的顺序相吻合(从左到右),先旋转后平移
7、。和3x3矩阵一样,能将两个矩阵连接成单个矩阵,记作矩阵M,如下:M二RTv'二vRT二v(RT)二vM观察M的内容:100■0「门150_0100/2200010「31「32()A.r二"1■71注意到,M的上边3x3部分是旋转部分,最下一行是平移部分。最右一列为[0,0,0,l]To逆向利用这些信息,能将任意4x4矩阵分解为线性变换部分和平移部分。将平移向量[Ax,Ay,Az]i£作t,则M可简写为:接下来看w二0所表示的"无穷远点〃。它乘以一个出〃标准"3x3变换矩阵扩展成的4x4矩阵(不包含平移),得到:门1门2"1/加00"3广330001『2汕异博I0XI沙3$°换句话说
8、,当一个形如[x,y,z,0]的无穷远点乘以一个包含旋转、缩放等的变换矩阵,将会发生预期的变换。结果仍是一个无穷远点,形式为[x,y,z,0]o51「31A.r[*11+"21+:心1ria0f230广330△21■・"12+肿22+出2•件13+"?3+汕33()一个无穷远点经过包含平移的变换可得到:注意到结果是一样的(和没有平移的情况相比)。换句话说,4D向量中的w分量能够〃开关〃4x4矩阵的平移部分。这个现象是非常有用的,因为有些向量代表