2.1 CAD/CAE/CAM系统的数学基础
CAD/CAE/CAM系统中涉及的计算机图形处理包括各种图形变换和图形的消隐与裁剪等技术,实现各种图形处理的数学基础是矢量和矩阵及其运算,简要归纳和总结如下。
1.矢量及其运算
设有两个矢量V1(x1,y1,z1) 和V2(x2,y2,z2),有关矢量的运算有
1)两个矢量之和:
V1+V2=(x1+x2,y1+y2,z1+z2)
2)两个矢量的点积:
V1 ·V2=(x1·x2+y1·y2+z1·z2)
3)矢量的长度:
4)两个矢量的叉积:
2.矩阵及其运算
这个m行n列矩阵是由m×n个数按一定位置排列的一个整体,简称m×n矩阵。其中,a11,a12, …, a1n称为矩阵的行;a11,a21,…, am1称为矩阵的列;aij称为此矩阵的第i行第j列元素。通常用大写字母A、B等代表矩阵。上面这个矩阵可简记为A或Am×n或(aij)m×n。如果m=n,则A可简称为正方矩阵或n阶方阵。
当m = 1时,[a11, a12, …, a1n]可简称为n元行矩阵,也称为行矢量;当n = 1时,可简称为m元列矩阵,也称为列矢量。两个矩阵只有在其行数、列数都相同,且所有对应位置的元素都相等时,才能称这两个矩阵是相等的。
1)矩阵的加法运算
设两个矩阵A和B都是m行n列矩阵,把它们对应位置的元素相加而得到的矩阵称为A、B的和,记为A+B,即
2)数乘矩阵
用数k乘矩阵A的每一个元素而得到的矩阵称为k与A之积,记为kA或Ak。
3)矩阵的乘法运算
设矩阵A=(a ij)2×3,矩阵B=(b ij)3×2,则这两个矩阵的乘积A×B可表示为
值得注意的是,任意两个矩阵只有在前一矩阵的列数等于后一矩阵的行数时才能相乘,即
Am×n·Bn×p=Cm×p
4)零矩阵的运算
矩阵中所有元素都为零的矩阵称为零矩阵。m行n列的零矩阵记为Om×n。对于任意矩阵Am×n恒有Am×n+Om×n=Am×n。
5)单位矩阵
如果一个矩形阵的主对角线各元素aii=1,其余各元素均为零,则称这个矩阵为单位矩阵,记为I。一般地,单位矩阵I可表示为
m阶单位矩阵记为Im。对于任意矩阵Am×n,恒有Am× n·In= Am×n,Im·Am×n= Am×n。
6)逆矩阵
对于矩阵A,若存在A·A-1=A-1·A=I,则称A-1为A的逆矩阵。设A是一个n阶矩阵,如果有n阶矩阵B存在,且使得A·B=B·A=I,如果A是一个非奇异矩阵,则称B是A的逆矩阵,否则便称A是一个奇异矩阵。由于A、B处于对称地位,故当A是非奇异矩阵时,其逆矩阵B也为非奇异矩阵,而且A也是B的逆矩阵,即A、B互为逆矩阵。例如:
任何非奇异矩阵都只能有一个逆矩阵。
7)转置矩阵
把矩阵A= (aij)m×n的行、列互换而得到一个 n×m 的矩阵,称为A的转置矩阵,记为AT。即
矩阵的转置具有如下几个基本性质:① (AT)T=A;② (A+B)T=AT+BT;③ (αA)T=αAT;④ (A·B)T=BT·AT;⑤ 当A是一个n阶矩阵且A=AT时,则A是一个对称矩阵。
8)矩阵运算的基本性质
① 矩阵加法适合交换律与结合律:A+B=B+A;A+(B+C)=(A+B)+C。
② 数乘矩阵适合分配律与结合律:α(A+B)=αA+αB;α(A·B)=(αA)·B=A·(αB);(α+β)A=αA+βA;α(βA)=(αβ)A。
③ 矩阵的乘法适合结合律:A(B·C)=(A·B)C。
④ 矩阵的乘法对加法适合分配律:(A+B)C=AC+BC;C(A+B)=CA+CB。
⑤ 矩阵的乘法不适合交换律:一般情况下,A·B不等于B·A,因为相乘时,如果A、B不为方阵且A·B成立,则B和A不可相乘,即使A、B均为n阶矩阵,在一般情况下,AB和BA仍然不相等。例如:
3.齐次坐标
所谓齐次坐标表示法就是用一个n+1维矢量表示一个n维矢量。n维空间中,当点的位置矢量用非齐次坐标表示时,具有n个坐标分量,即(P1,P2, …, Pn),且这种表示是唯一的。若用齐次坐标表示时,此矢量有n+1个坐标分量,即(hP1,hP2, …, hPn,h),且这种表示不是唯一的。普通意义下的坐标与齐次坐标的关系为一对多,例如若在二维坐标系下点(x,y)的齐次坐标表示为(hx, hy, h),则(h1x, h1y, h1),(h2x, h2 y, h2), …, (hmx, hm y, hm)都表示二维空间中同一个点(x, y)。例如,(12, 8, 4)、(6, 4, 2)和(3, 2, 1)均表示同一个点(3, 2)的齐次坐标。类似地,在三维空间中,点的齐次坐标可表示为(hx, hy, hz, h)。当h=1时的齐次坐标称为规格化齐次坐标。
齐次坐标表示法的优点主要有以下两个方面:
(1)提供了一种用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。例如,二维齐次坐标变换矩阵的一般形式是
三维齐次坐标变换矩阵的一般形式是
如果不采用齐次坐标来表示,则平移变换等图形变换将无法与其他图形变换一起采用一种统一的变换矩阵来表示,从而不利于图形变换程序的编制。
(2)可以表示无穷远点。例如,在n+1维空间中,h=0的齐次坐标实际上表示了一个n维空间中的无穷远点。对于二维的齐次坐标(a,b,h),当h→0时实际上表示直线ax+by=0,即y= -(a/b)x上的连续点(x, y)逐渐趋近于无穷远,但其斜率不变。在三维情况下,利用齐次坐标表示视点在原点时的投影变换,其几何意义会更加清晰。
【点评2-1】 矩阵运算在CAD/CAE/CAM系统中的应用
在CAD/CAE/CAM系统中会经常用到矩阵运算。例如,在几何建模时,系统通常提供一个全局坐标系,而应用人员往往需要根据具体情况建立不同的局部坐标系,不同坐标系之间的转换就需要利用矩阵运算来完成。再如,现在的商用CAD/CAE/CAM系统都具备将三维几何模型直接转换为二维工程图的功能,其原理是首先建立一个基础视图,然后由基础视图派生出其他不同方向的视图,而视图之间的变换同样需要利用矩阵运算来完成。此外,我们大家所熟知的对各种二维草图进行镜像、阵列等操作都离不开对图形坐标的矩阵运算,可见,在计算机内部以不同的方式来表达图形时,矩阵运算是非常重要的手段。