计算机图形学基础教程附录第二版孙家广胡事民编著.docx
- 文档编号:9944862
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:18
- 大小:197.45KB
计算机图形学基础教程附录第二版孙家广胡事民编著.docx
《计算机图形学基础教程附录第二版孙家广胡事民编著.docx》由会员分享,可在线阅读,更多相关《计算机图形学基础教程附录第二版孙家广胡事民编著.docx(18页珍藏版)》请在冰点文库上搜索。
计算机图形学基础教程附录第二版孙家广胡事民编著
附录A计算机图形学的数学基础
A.1矢量运算
矢量是一有向线段,具有方向和大小两个参数。
设有两个矢量V1(x1,y1,z1),V2(x2,y2,z2)。
(1)矢量的长度
|V1|=(x1x1,y1y1,z1z1)1/2
(2)矢量倍乘
αV1=(αx1,αy1,αz1)
(3)两个矢量之和
V1+V2=(x1,y1,z1)+(x2,y2,z2)=(x1+x2,y1+y2,z1+z2)
图A-1
(4)两个矢量的点积
V1·V2=|V1||V2|cosθ=x1x2+y1y2+z1z2
其中,θ为两相量之间的夹角。
点积满足交换律和分配律:
V1·V2=V2·V1
V1·(V2+V3)=V1·V2+V1·V3
(5)两个矢量的叉积
叉积V1×V2是一个向量,而且满足:
①|V1×V2|=|V1||V2|sinθ,即以V1和V2为邻边所构成的平行四边形的面积。
图A-2
②V1×V2垂直于V1和V2。
③V1,V2,V1×V2构成右手系。
图A-3
用坐标表示为:
叉积满足反交换律和分配律
V1×V2=-V2×V1
V1×(V2+V3)=V1×V2+V1×V3
A.2矩阵运算
设有一个m行n列矩阵A:
其中(ai1,ai2,ai3,…,ain)被称为第i(1≤i≤n)个行向量,(a1j,a2j,a3j,…,amj)T被称为第j(1≤j≤m)个列向量。
(1)矩阵的加法运算
设两个矩阵A和B都是m×n的,把它们对应位置的元素相加而得到的矩阵叫做A、B的和,记为A+B
只有在两个矩阵的行数和列数都相同时才能实施矩阵的加法运算。
(2)数乘矩阵
用数k乘矩阵A的每一个元素而得的矩阵叫做k与A之积,记为kA:
(3)矩阵的乘法运算
只有当前一矩阵的列数等于后一矩阵的行数时两个矩阵才能相乘:
Cm×n=Am×p·Bp×n
矩阵C中的每个元素
。
下面用一个简单的例子来说明。
设A为2×3的矩阵,B为3×2的矩阵,则两者的乘积为:
(4)单位矩阵
对于一个n×n的矩阵,如果它的对角线上的各个元素均为1,其余元素都为0,则该矩阵称为单位矩阵,记为In。
对于任意m×n的矩阵,恒有:
Am×n·In=Am×n
Im·Am×n=Am×n
(5)矩阵的转置
交换一个矩阵Am×n的所有的行列元素,那么所得到的m×n的矩阵被称为原有矩阵的转置,记为AT:
显然,(AT)T=A,(A+B)T=(AT+BT),(kA)T=kAT。
但是,对于矩阵的积:
(A·B)T=BT·AT
(6)矩阵的逆
对于一个n×n的方阵A,如果存在一个n×n的方阵B,使得AB=BA=In,则称B是A的逆,记为B=A-1,同时A则被称为非奇异矩阵。
矩阵的逆是相互的,A同样也可记为B=A-1,B也是一个非奇异矩阵。
任何非奇异矩阵有且只有一个逆矩阵。
(7)矩阵运算的基本性质
①矩阵加法适合交换律与结合律
A+B=B+A
A+(B+C)=(A+B)+C
②数乘矩阵适合分配律与结合律
α(A+B)=αA+αB
α(A·B)=(αA)·B=A·αB
③矩阵的乘法适合结合律
A(B·C)=(A·B)C
④矩阵的乘法对加法适合分配律
(A+B)C=AC+BC
C(A+B)=CA+CB
⑤矩阵的乘法不适合交换率
A·B≠B·A
A.3齐次坐标
所谓齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示。
如向量(x1,x2,…,xn)的齐次坐标表示为[hx1,hx2,…,hxn,h],其中h是一个实数。
显然一个向量的齐次表示是不惟一的,齐次坐标的h取不同的值都表示的是同一个点,比如齐次坐标[8,4,2]、[4,2,1]表示的都是二维点[2,1]。
齐次坐标的优点:
①它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集,从一个坐标系变换到另一个坐标系的有效方法。
②它可以表示无穷远的点。
n+1维的齐次坐标中如果h=0,实际上就表示了n维空间的一个无穷远点。
对于齐次坐标[a,b,h],保持a,b不变,h→0的过程就表示了在二维坐标系中的一个点,沿直线ax+by=0逐渐走向无穷远处的过程。
A.4线性方程组的求解
对于一个有n个变量的方程组:
可将其表示为矩阵形式:
AX=B,A为系数矩阵。
该方程有惟一解的条件是A为非奇异矩阵,则方程的解为:
X=A-1B
附录B图形的几何变换
B.1窗口区到视图区的坐标变换
实际的窗口区与视图区大小往往不一样,要在视图区正确地显示形体,必须将其从窗口区变换到视图区。
图B-1
由比例关系,两者的变换公式为:
可以简单地将两者的关系表示为:
其中:
用矩阵表示为:
B.2二维图形的几何变换
正如我们在附录A中提到的那样,用齐次坐标表示点的变换将非常方便,因此在附录B中所有的几何变换都将采用齐次坐标进行运算。
二维齐次坐标变换的矩阵的形式是:
这个矩阵每一个元素都是有特殊含义的。
其中
可以对图形进行缩放、旋转、对称、错切等变换;
是对图形进行平移变换;[gh]是对图形作投影变换;[i]则是对图形整体进行缩放变换。
(1)平移变换图B-2(a)
(2)缩放变换图B-2(b)
(3)旋转变换图B-2(c)
在直角坐标平面中,将二维图形绕原点旋转θ角的变换形式如下:
逆时针旋转θ取正值,顺时针旋转θ为负值。
(4)对称变换图B-2(d)
对称变换其实只是a,b,d,e取0,1等特殊值产生的一些特殊效果。
例如:
①当b=d=0,a=-1,e=1时,有x´=-x,y´=y,产生与y轴对称的图形;
②当b=d=0,a=1,e=-1时,有x´=x,y´=-y,产生与x轴对称的图形;
③当b=d=0,a=e=-1时,有x´=-x,y´=-y,产生与原点对称的图形;
④当b=d=1,a=e=0时,有x´=y,y´=x,产生与直线y=x对称的图形;
⑤当b=d=-1,a=e=0时,有x´=-y,y´=-x,产生与直线y=-x对称的图形。
(5)错切变换
①当d=0时,x´=x+by,y´=y,此时,图形的y坐标不变,x坐标随初值(x,y)及变换系数b作线性变化。
图B-2(e)
②当b=0时,x´=x,y´=dx+y,此时,图形的x坐标不变,y坐标随初值(x,y)及变换系数d作线性变化。
图B-2(f)
(6)复合变换
如果图形要做一次以上的几何变换,那么可以将各个变换矩阵综合起来进行一步到位的变换。
复合变换有如下5个性质:
①复合平移
对同一图形做两次平移相当于将两次的平移两加起来:
②复合缩放
两次连续的缩放相当于将缩放操作相乘:
③复合旋转
两次连续的旋转相当于将两次的旋转角度相加:
④关于(xf,yf)点的缩放变换
缩放、旋转变换都与参考点有关,上面进行的各种变换都是以原点为参考点的。
如果相对某个一般的参考点(xf,yf)作缩放、旋转变换,相当于将该点移到坐标原点处,然后进行缩放、旋转变换,最后将(xf,yf)点移回原来的位置。
切记复合变换时,先作用的变换矩阵在右端,后作用的变换矩阵在左端。
⑤绕(xf,yf)点的旋转变换
B.3三维几何变换
由于用齐次坐标表示,三维几何变换的矩阵是一个4阶方阵,其形式如下:
其中
产生缩放、旋转、错切等几何变换,
产生平移变换,[a41a42a43]产生投影变换,[a44]产生整体的缩放变换。
(1)平移变换图B-3
参照二维的平移变换,很容易得到三维平移变换矩阵:
(2)缩放变换图B-4
直接考虑相对于参考点(xf,yf,zf)的缩放变换,其步骤为:
①将参考点平移到坐标原点处;
②进行缩放变换;
③将参考点移回原来位置。
则变换矩阵为:
(3)绕坐标轴的旋转变换
三维空间的旋转相对要复杂些。
考虑右手坐标系下相对坐标原点绕坐标轴旋转θ角的变换。
①绕x轴旋转
②绕y轴旋转
③绕z轴旋转
(4)绕任意轴的旋转变换图B-5
设旋转轴AB由任意一点A(xa,ya,za)及其方向数(a,b,c)定义,空间一点P(xp,yp,zp)绕AB轴旋转θ角到P′(x′p,y′p,z′p),则:
可以通过下列步骤来实现P点的旋转:
①将A点移到坐标原点;
②使AB分别绕x轴、y轴旋转适当角度与z轴重合;
③将AB绕z轴旋转θ角;
④作上述变换的逆操作,使AB回到原来位置。
所以Rab(θ)=T-1(-xa,-ya,-za)Rx-1(α)Ry-1(β)Rz(θ)Ry(β)Rx(α)T(-xa,-ya,-za)。
其中各个矩阵的形式参照上面所讲的平移、旋转矩阵,而α,β分别是AB在yoz平面与xoz平面的投影与z轴的夹角。
附录C形体的投影变换
C.1投影变换分类
把三维物体变为二维图形表示的过程称为投影变换。
投影变换的分类情况如图C-1所示。
C.2世界坐标系与观察坐标系
物体在空间的表示是用世界坐标来表示,但是当人们去观察物体时,坐标系就转化为观察坐标系。
这就需要在两个坐标系之间进行转换,可以通过平移、旋转来实现。
平移后,用单位矢量法得到旋转矩阵:
(1)取zv轴向为观察平面的法向VPN,其单位矢量n=VPN/|VPN|=(nx,ny,nz);
(2)取xv轴向为观察方向PREF,其单位矢量u=PREF/|PREF|=(ux,uy,uz);
(3)取yv轴向的单位矢量v=n×u=(vx,vy,vz)。
得到旋转矩阵
,因此世界坐标系到观察坐标系的变换矩阵为:
C.3正平行投影(三视图)
投影方向垂直于投影平面的投影称为正平行投影,通常所说的三视图均属于正平行投影。
三视图的生成就是把xyz坐标系的形体投影到z=0的平面,变换到uvw坐标系。
一般还需将三个视图在一个平面上画出,这时就得到下面的变换公式,其中(a,b)为uv坐标系下的值,tx、ty、tz均如图C-3所示。
(1)主视图
u=-x+a-tx
v=z+b+tz
(2)俯视图
u=-x+a-tx
v=-y+b-ty
(3)侧视图
u=y+a+ty
v=z+b+tz
正轴测:
当投影方向不取坐标轴方向,投影平面不垂直于坐标轴时,产生的正投影称为正轴测投影。
正轴测投影分类:
●正等测:
投影平面与三个坐标轴的交点到坐标原点的距离都相等。
沿三个轴线具有相同的变形系数。
●正二测:
投影平面与两个坐标轴的交点到坐标原点的距离都相等。
沿两个轴线具有相同的变形系数。
●正三测:
投影平面与三个坐标轴的交点到坐标原点的距离都不相等。
沿三个轴线具有各不相同的变形系数。
C.4斜平行投影
投影方向不垂直于投影平面的平行投影被称为斜平行投影。
图C-4中z=0的坐标平面为观察平面,点(x,y)为点(x,y,z)在观察平面上的正平行投影坐标,点(x´,y´)为斜投影坐标。
(x,y)与(x´,y´)的距离为L。
显然,
,而L的长度依赖于z、α,即tgβ=z/L,L=z/tgβ,所以
令l1=1/tgβ,则
,由此可得:
斜等测投影:
●投影平面与一坐标轴垂直
●投影线与投影平面成45°角
●与投影平面垂直的线投影后长度不变
斜二测投影:
●投影平面与一坐标轴垂直
●投影线与投影平面成arctg
(2)角(约63.4°)
●该轴轴向变形系数为1/2,即与投影平面垂直的线投影后长度变为原来的一半。
C.5透视投影
透视投影的视线(投影线)是从视点(观察点)出发,视线是不平行的。
不平行于投影平面的视线汇聚的一点称为灭点,在坐标轴上的灭点叫做主灭点。
主灭点数和投影平面切割坐标轴的数量相对应。
按照主灭点的个数,透视投影可分为一点透视、二点透视和三点透视。
图C-5
推导简单的一点透视的投影公式。
一点透视见图C-6。
P点在观察平面上的投影可以得到描述P´点的参数方程:
即:
用齐次坐标表示为:
其中h=(zprp-z)/dp。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 基础教程 附录 第二 版孙家广胡事民 编著