1、1,计算机及信息工程学院,刘惠义,计算机图形学,2,教材或参考书:,教材: 李东等,计算机图形学实用教程,人民邮电出版社,2004。 主要参考书: 潘云鹤等,“计算机图形学原理、方法及应用”,高等教育出版社,2003。 孙家广等,计算机图形学(第三版),清华大学出版社,2002。,3,基础学科,-CAGD(计算几何)* -逼近论(计算数学)* -矩阵论 * -数据结构 -微分几何 -图象处理 -计算机视觉和模式识别,4,计算机图形学是研究通过计算机将数据转换为图形,并在专用设备上显示的原理、方法和技术的学科。,计算机图形学(CG)的定义,5,二维图形 基本图元的生成点、线、圆(圆弧)、各种曲线
2、(规则、不规则)的生成。 图形的基本操作和图形处理的算法主要包括图形编辑(含平移、旋转、放缩、复制、镜象、错切等)、裁剪、填充、布尔运算等。 图形输入和输出输入包括交互式输入和扫描输入。,研究内容,6,三维图形 三维几何造型技术的研究基本体素的建立和生成、规则曲面和自由曲面的构造,以及三维形体之间的布尔运算。 真实感图形的生成包括三维形体的消隐,光照模型的建立,阴影及彩色渲染图的生成。,研究内容,7,相关学科,-CAD(计算机辅助设计)是一种用计算机硬、软件系统辅助人们对产品或工程进行设计的方法和技术,包括设计、绘图、工程分析与文档制作等设计活动。它是一种新的设计方法,也是一门多学科综合运用的
3、新技术。研究内容: (1)图形处理技术 (2)工程分析技术 (3)数据管理和数据交换技术 (4)图档处理技术 (5)软件设计技术,8,相关学科,-VR(虚拟现实)利用计算机生成一种虚拟环境,通过视、听、触觉等作用,使用户产生身临其境感觉的交互式视景仿真,实现用户与该环境直接进行自然交互。研究内容: 实物虚化主要包括基本模型构建、空间跟踪、声音定位、视觉跟踪和视点感应等技术。 虚物实化从虚拟环境中获得同真实环境一样或相似的视觉、听觉、力觉和触觉。 高性能计算处理技术包括预处理技术、实时生成和显示技术、多种信息数据的融合、数据压缩等。,9,相关学科,ViSC(科学计算可视化)是对计算及数据进行探索
4、,以获得对数据的理解与洞察。其目的是依靠人类强大的视觉能力,对所考察数据更深层次的理解,从中发现隐藏的现象和规律。涉及技术: 一维和二维的可视化技术在图形学的基础上,引入了几何元素抽取技术。 体绘制包括体绘制光照模型和体绘制算法。体绘制光照模型:研究如何将抽象数据转换成图像参数表示。体绘制算法:将空间分布的三维图象参数投影到二维平面上。,10,本门课的主要内容,图形变换 投影 三维形体的表示 面消隐 曲线曲面的生成 真实感图形的绘制,11,第1章 图形变换,主要介绍: 齐次坐标 窗口到视区的变换 图形几何变换,12,所谓齐次坐标表示法就是由n+1维向量表示一个n维向量。如n维向量(P1,P2,
5、 ,Pn)表示为(hP1,hP2,hPn,h),其中h称为哑坐标。,齐次坐标,13,1、h可以取不同的值,所以同一点的齐次坐标不是唯一的。如普通坐标系下的点(2,3)变换为齐次坐标可以是(1,1.5,0.5)(4,6,2)(6,9,3)等等。 2、普通坐标与齐次坐标的关系为“一对多”由普通坐标h齐次坐标由齐次坐标h普通坐标 3、当h=1时产生的齐次坐标称为“规格化坐标”,因为前n个坐标就是普通坐标系下的n维坐标。,齐次坐标,14,齐次坐标,(x,y)点对应的齐次坐标为(x,y)点对应的齐次坐标为三维空间的一条直线,15,1. 将各种变换用阶数统一的矩阵来表示。提供了用矩阵运算把二维、三维甚至高
6、维空间上的一个点从一个坐标系变换到另一坐标系的有效方法。 2. 便于表示无穷远点。 例如:(x h, y h, h),令h等于0 3. 齐次坐标变换矩阵形式把直线变换成直线段,平面变换成平面,多边形变换成多边形,多面体变换成多面体。(图形拓扑关系保持不变) 4. 变换具有统一表示形式的优点 便于变换合成 便于硬件实现,齐次坐标的作用,16,第1章 图形变换,主要介绍 齐次坐标 窗口到视区的变换 图形几何变换,17,窗口视图变换,用户域和窗口区 1.用户域:程序员用来定义草图的整个自然空间(WD)a. 人们所要描述的图形均在用户域中定义。b. 用户域是一个实数域,理论上是连续无限的。 2.窗口区
7、:用户指定的任一区域(W)a. 窗口区W小于或等于用户域WDb. 小于用户域的窗口区W叫做用户域的子域。c.窗口可以有多种类型,矩形窗口、圆形窗口、多边形 窗口等等d.窗口可以嵌套,即在第一层窗口中可再定义第二层窗口,在第I层窗口中可再定义第I+1层窗口等等。,18,窗口视图变换,屏幕域和视图区 1.屏幕域(DC):设备输出图形的最大区域,是有限的整数域。如图形显示器分辨率为1024768DC010230767 2.视图区:任何小于或等于屏幕域的区域a.视图区用设备坐标定义在屏幕域中b.窗口区显示在视图区,需做窗口区到视图区的坐标转换。c.视图区可以有多种类型:圆形、矩形、多边形等。d.视图区
8、也可以嵌套。,19,窗口区到视图区的坐标变换,设窗口的四条边界W x l、W x r 、W y b、W y t 视图的四条边界Vx l、Vx r 、Vy b、Vy t,窗口区中的任一点(x w , y w) 与视图区中的任一点(x v , y v) 存在如下对应关系:,20,由式(1-1)和式(1-2)可分别解得:,令,窗口区到视图区的坐标变换,21,窗口区和视图区的坐标变换,简化为:当ac时,即x 方向的变化与y方向的变化不同时,视图中的图形会有伸缩变化,图形变形。 当a=c=1,b=d=0则Xs=Xw,Ys=Yw,图形完全相同。,22,第1章 图形变换,主要介绍: 齐次坐标 窗口到视区的变
9、换 图形几何变换,23,图形变换是计算机图形学基础内容之一。几何变换,投影变换,视窗变换线性变换,属性不变,拓扑关系不变。作用: 把用户坐标系与设备坐标系联系起来; 可由简单图形生成复杂图形; 可用二维图形表示三维形体; 动态显示。,图形几何变换,24,图形的几何变换,图形变换:图形的几何信息经过几何变换后产生新的图形。 图形变换的两种形式: 1.图形不变,坐标系改变; 2.图形改变,坐标系不变。,25,二维图形的几何变换,设二维图形变换前坐标为(x,y,1),变换后为(x*,y*,1)1 二维变换矩阵注意:T2D可看作三个行向量,其中 1 0 0:表示x 轴上的无穷远点 0 1 0:表示y
10、轴上的无穷远点 0 0 1:表示原点,26,二维图形的几何变换,从变换功能上可把T2D分为四个子矩阵,27,二维基本变换-平移变换,平移变换 平移变换只改变图形的位置,不改变图形的大小和形状,28,二维基本变换-比例变换,以坐标原点为放缩参照点 当Sx=Sy=1时:恒等比例变换 当Sx=Sy1时:沿x,y方向等比例放大。 当Sx=Sy1时:沿x,y方向等比例缩小 当SxSy时:沿x,y方向作非均匀的比例变换,图形变形。,29,二维基本变换-对称变换,当Sx=-1, Sy=1时,(x* y* 1)=(-x y 1):与y轴对称的对称变换。 当Sx=1, Sy=-1时,(x* y* 1)=( x
11、-y 1):与x轴对称的对称变换。 当Sx=-1, Sy=-1时,(x* y* 1)=(-x -y 1):与原点对称的对称变换。 注意:这里的对称变换只是对x轴、 y轴和原点的。,30,二维基本变换-旋转变换,注意 以坐标原点为旋转参照点; 是逆时针旋转角度。,(x,y),(x,y),31,二维基本变换-错切变换,1) 当d=0时, (x* y* 1)=(x+by y 1):图形的y坐标不变; 当b0:图形沿+x方向作错切位移。ABCDA1B1C1D1 当b0:图形沿-x方向作错切位移。ABCD A2B2C2D2,32,二维基本变换-错切变换,2)当b=0时, (x* y* 1)=(x dx+
12、y 1)图形的x坐标不变; 当d0:图形沿+y方向作错切位移。ABCD A1B1C1D1 当d0:图形沿-y方向作错切位移。ABCD A2B2C2D2,33,二维基本变换-错切变换,3) 当b0且d0时, (x* y* 1)=(x+by dx+y 1) :图形沿x,y两个方向作错切位移。 错切变换引起图形角度关系的改变,甚至导致图形发生变形。,34,复合变换,复合变换又称级联变换,指对图形做一次以上的几何变换。 注意:任何一个线性变换都可以分解为上述几类变换。,35,例1:复合平移,求点P(x,y)经第一次平移变换(Tx1,Ty1),第二次平移变换(Tx2,Ty2)后的坐标P*(x*, y*)
13、 解:设点P(x,y,1)经第一次平移变换后的坐标为P(x y 1),则经第二次平移变换后的坐标为P*(x* y* 1)变换矩阵为Tt=Tt1Tt2,36,例2:多种复合组合,例:对一线段先放大2倍(即Sx=Sy=2),再平移Tx=10,Ty=0。 解:设点(x,y)为线段上的任意一点,点(x,y)为点(x,y)放大后的坐标,点(x,y)为点(x,y)平移后的坐标,则: x y 1= x y 1S2(2,2) x y 1= x y 1T2(10,0) x y 1= x y 1T2(10,0)=x y 1S2(2,2)T2(10,0)令:M=S2(2,2)T2(10,0) ,则M即为组合变换,3
14、7,例3:旋转变换,对参考点F(xf,yf)做旋转变换。 解: 1、把旋转中心F(xf,yf)平移至坐标原点,即坐标系平移(-xf,-yf),则2、进行旋转变换,38,例3:旋转变换,将坐标系平移回原来的原点因此变换矩阵:,39,例4:任意反射轴的反射变换,任一图形关于任意反射轴y=a+bx的反射变换 解:1. 将坐标原点平移到(0,a)处,40,例4:任意的反射轴的反射变换,2.将反射轴(已平移后的直线)按顺时针方向旋转角,使之与x轴重合 3.图形关于x轴的反射变换 4.将反射轴逆时针旋转角,41,例4:任意的反射轴的反射变换,5.恢复反射轴的原始位置因此,42,平移物体使固定点与坐标原点重
15、合 对于坐标原点缩放 用步骤1的反向平移将物体移回原始位置,例5:通用固定点缩放,43,例6(通用定向缩放),比例变换中的比例因子Sx,Sy只能在x轴方向或y轴方向起作用。实际图形变换中,不仅是在x,y方向变换,往往要求在任意方向进行比例变换。通过旋转变换和比例变换的组合,可以实现任意方向的比例变换。 解:定义比例因子S1和S2。 1. 使S1和S2旋转角后分别与x轴和y轴重合。 2. 进行比例变换。 3.使S1和S2旋转-角,返回原始位置。,44,通用定向缩放,如:图(a)为一单位正方形,对由(0,0)和(1,1)两点构成的对角线方向实施比例变换(2,1),45,三维几何变换,三维齐次坐标
16、(x,y,z)点对应的齐次坐标为标准齐次坐标(x,y,z,1) 右手坐标系,46,三维几何变换,变换矩阵平移变换比例变换,47,三维变换矩阵-对称变换,在二维变换下,对称变换是以线和点为基准,在三维变换下,对称变换则是以面、线、点为基准的。 对称于XOY平面x y z 1 = x y -z 1=x y z 1对称于YOZ平面x y z 1 = -x y z 1=x y z 1对称于XOZ平面 x y z 1 = x -y z 1=x y z 1,48,三维变换矩阵-旋转变换,绕X轴变换空间上的立体绕X轴旋转时,立体上各点的X坐标不变,只是Y、Z坐标发生相应的变化。x = xy = cos(+)
17、 = y*cos- z*sinz = sin(+) = y*sin+z*cos,X,Y,Z,(y,z),(y z),Y,Z,O,O,(y z),(y,z),Z,49,三维变换矩阵-旋转变换,矩阵表示为:遵循右手法则,即若0,大拇指指向轴的方向,其它手指指的方向为旋转方向。,50,三维变换矩阵-旋转变换,绕Y轴旋转此时,Y坐标不变,X,Z坐标相应变化。x = sin(+) = x*cos + z*siny = yz = cos(+) = z*cos- x*sin,X,Y,Z,(x,z),(x, z),X,Z,O,O,Z,(x,z),(x, z),51,三维变换矩阵-旋转变换,矩阵表示为,52,三
18、维变换矩阵-旋转变换,绕Z轴旋转此时,Z坐标不变,X,Y坐标相应变化。x = cos(+) = x*cos - y*siny = sin (+) = x*sin+ y*cosz = z,X,Y,Z,(x,y),(x, y),X,Y,O,O,(x, y),(x,y),53,三维变换矩阵-旋转变换,矩阵表示为:,54,绕任意轴的旋转变换,基本思想:因任意轴不是坐标轴,应设法旋转该轴,使之与某一坐标轴重合,然后进行旋转角的变换,最后按逆过程,恢复该轴的原始位置。,55,绕任意轴的旋转变换,(1)将空间直线平移,使之通过坐标原点,T=,0 1 0 0,0 0 1 0,-X1 -Y1 -Z1 1,1 0
19、 0 0,(2)绕x轴旋转角使之位于XOZ平面内,56,直线段L在YOZ平面上的投影LL2= B2+ C2Sin=B/L cos=C/L,z,x,y,B,C,A,L,L,P,Q,D,绕任意轴的旋转变换,57,0 cos sin 0,0 -sin cos 0,0 0 0 1,1 0 0 0,Rx=,(3) 绕y轴顺时针旋转角(使之与Z轴重合)由于绕y轴旋转时,y坐标不变,A,L,L,Sin =A/L cos =L/L,L2-A2= B2+ C2=L2,绕任意轴的旋转变换,58,0 1 0 0,-sin 0 cos 0,0 0 0 1,cos 0 sin 0,Ry=,-sin cos 0 0,0
20、0 1 0,0 0 0 1,cos sin 0 0,Rz=,(4)绕z轴旋转角,绕任意轴的旋转变换,59,(5)绕y轴逆时针旋转角(使之位于XOZ平面内),sin 0 cos 0,0 0 0 1,Ry=,cos 0 -sin 0,0 1 0 0,(6)绕x轴顺时针旋转(使之恢复通过原点的直线),0 sin cos 0,0 0 0 1,Rx=,1 0 0 0,0 cos -sin 0,绕任意轴的旋转变换,60,(7)平移使坐标原点返回到它原始位置,0 0 1 0,X1 y1 z1 1,T =,1 0 0 0,0 1 0 0,因此,绕空间任意轴旋转角的变换矩阵,R=T.Rx.Ry.Rz.Ry.Rx.T,绕任意轴的旋转变换,