CG17章总复习

上传人:re****.1 文档编号:569362989 上传时间:2024-07-29 格式:PPT 页数:153 大小:2.56MB
返回 下载 相关 举报
CG17章总复习_第1页
第1页 / 共153页
CG17章总复习_第2页
第2页 / 共153页
CG17章总复习_第3页
第3页 / 共153页
CG17章总复习_第4页
第4页 / 共153页
CG17章总复习_第5页
第5页 / 共153页
点击查看更多>>
资源描述

《CG17章总复习》由会员分享,可在线阅读,更多相关《CG17章总复习(153页珍藏版)》请在金锄头文库上搜索。

1、第第1章章 绪论绪论提出问题提出问题什么是计算机图形学?计算机图形学研究的对象是什么?计算机图形处理系统的构造?2024/7/2911.1 计算机图形学及其相关概念计算机图形学及其相关概念计算机图形学计算机图形学(ComputerGraphics)计算机图形学计算机图形学是研究怎样利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科。IEEE定义:Computer graphicsistheartorscienceofproducinggraphicalimageswiththeaidofcomputer.2024/7/292计算机图形学的研究对象计算机图形学的研究对象图形图形通常意义

2、下的图形通常意义下的图形:能够在人的视觉系统中形成视觉印象的客观对象都称为图形。2024/7/293两类图形要素:两类图形要素:1.几何要素:点,线,面,体等;2.非几何要素:明暗,灰度,色彩等计算机图形学中所研究的图形:计算机图形学中所研究的图形:从客观世界物体中抽象出来的带有颜色及形状信息的图和形。2024/7/294图形的两种表示方法:图形的两种表示方法:点点阵阵法法是用具有颜色信息的点阵来表示图形的一种方法,它强调图形由哪些点组成,并具有什么灰度或色彩。参参数数法法是以计算机中所记录图形的形状参数与属性参数来表示图形的一种方法。通常把参数法描述的图形叫做图形(图形(Graphics)把

3、点阵法描述的图形叫做图象(图象(Image)2024/7/295课后作业:课后作业:习题一(习题一(p14)1.1名词解释:图形、图象、点阵法、参数法。1.2图形包括哪两方面的要素,在计算机中如何表示它们?1.3什么叫计算机图形学?分析计算机图形学、数字图象处理和计算机视觉学科间的关系。2024/7/296第第2章章 计算机图形系统及图形硬件计算机图形系统及图形硬件计算机图形系统概述计算机图形系统包含哪些外部设备?图形输入设备:概念、特点图形显示设备:概念、结构原理、工作方式、特点图形绘制设备:概念、特点提出问题提出问题2024/7/2972.1 计算机图形系统概述计算机图形系统概述2.1.1

4、 计算机图形系统的功能计算机图形系统的功能 图图2-1 2-1 图形系统基本功能框图图形系统基本功能框图显示器交互输出计算输入存贮数据库图形输出设备图形输入设备2024/7/2982.1.2 计算机图形系统的结构计算机图形系统的结构图形硬件图形软件图形应用数据结构图形应用软件图形支撑软件图形计算机平台图形设备图形系统图图2-2 2-2 计算机图形系统的结构计算机图形系统的结构2024/7/299课后作业:课后作业:习题二(习题二(p49)2.1名词解释(略)2.2一个交互性计算机图形系统必须具有哪几种功能?其结构如何?2.3试列举出你所知道的图形输入与输出设备。2.4说明三维输入设备的种类以及

5、应用范围。2.5阴极射线管由哪几部分组成?它们的功能分别是什么?2024/7/2910第3章用户接口与交互式技术提出问题提出问题如何设计一个好的用户接口为什么要定义逻辑输入设备交互式绘图技术有哪些?2024/7/2911回忆。回忆。3.1 3.1 用户接口设计用户接口设计3.1.1 用户模型3.1.2 显示屏幕的有效利用3.1.3 反馈3.1.4 一致性原则3.1.5 减少记忆量3.1.6 回退和出错处理3.1.7 联机帮助2024/7/2912表3-1 图形输入设备的逻辑分类名称名称基本功能基本功能定位设备(Locator)指定一个点的坐标位置(x,y)笔划设备(Stroke)指定一系列点的

6、坐标数值设备(Valuator)输入一个整数或实数字符串设备(String)输入一串字符选择设备(Choice)选择某个菜单项拾取设备(Pick)选择显示着的图形的组成部分2024/7/2913设备的评价三个层次:设备层设备层: 硬件性能最优化任务层:任务层:单任务:选择最佳的交互设备对话层:对话层:多任务:比较优劣2024/7/29143.2.2 输入模式输入模式输入模式:输入模式:管理、控制多种输入设备进行工作管理、控制多种输入设备进行工作常用输入模式:请求(request)采样(sample)事件(event)上述模式的组合形式2024/7/29151.请求方式(请求方式(request

7、 mode)输入设备在应用程序的控制下工作: 程序工作,输入设备程序工作,输入设备等待程序请求等待程序请求遇到请求指令遇到请求指令(requestrequest)输入设备工作,输入设备工作,程序等待接收数据程序等待接收数据请求满足请求满足程序和设备轮流处于工作状态和等待状态,由程序支配输入设备的活动。2024/7/29162.取样方式(取样方式(sample mode)应用程序和输入设备同时工作:输入设备不断地产生数据,并送入数据缓冲区;当程序遇到采样语句要求输入时,从数据缓冲区中读取数据。程序工作程序工作数据采样数据采样输入设备工作输入设备工作数据生成数据生成数据缓冲区数据缓冲区2024/7

8、/29173. 事件方式(事件方式(event mode)程序和被置成事件方式的设备分别工作。输入设备所产生的数据被组织成事件结点,排入事件队列中等待程序的处理。程序遇到事件处理语句时,就按照先进先出的原则从事件队列中取出队首事件予以处理。如果事件队列为空,程序则等待一定的时间片,等待事件的发生。事件队列输入设备工作输入设备工作数据输入数据输入程序工作程序工作事件处理事件处理2024/7/2918课后作业:课后作业:习题三(习题三(p71)3.1名词解释(略)3.2什么是用户模型?设计一个好的用户接口要涉及到哪些因素?3.3PHIGS和GKS图形软件标准有哪六种逻辑设备?试评价其逻辑分类方法。

9、3.8在交互输入过程中,常用的管理设备的方式有哪些?试分别简要说明。2024/7/2919第4章图形的表示与数据结构提出问题提出问题如何在计算机中建立建立恰当的模型表示不同图形对象如何组组织织图形对象的描述数据以使存储这些数据所要的空间最省,检索、处理这些数据的速度较快2024/7/29204.1.1 基本图形元素基本图形元素4.1 基本概念基本概念基本图形元素:基本图形元素:图素或图元、体素基本拓扑实体(基本拓扑实体(EntityEntity):点,线,环,面,体图图素素: 可以用一定的几何参数和属性参数描述的最基本的图形输出元素。 例:点,线,圆,二次曲线.2024/7/29214.1.2

10、 几何信息与拓扑信息几何信息与拓扑信息图形对象及构成它的点、线、面的位置、相互间关系和几何尺寸等都是图形信息图形信息;表示图形对象的线型、颜色、亮度以及供模拟、分析用的质量、比重、体积等数据,是有关对象的非非图形信息图形信息。2024/7/29224.1.3坐标系2024/7/2923客观存在的三维形体具有的性质客观存在的三维形体具有的性质: (1)刚性:具有一定的形状(流体不是实体造型技术描述的对象)(2)维数的一致性:各部分均是三维的(3)占据有限的空间:体积有限(4)边界的确定性:能区别物体内部,外部(5)封闭性:运动或集合运算之后(如切割、粘合)仍然是有效物体4.1.4 实体的定义实体

11、的定义2024/7/2924三三维维空空间间中中的的物物体体是是一一个个内内部部连连通通的的三三维维点点集集,是是由由其内部的点集及紧紧包着这些点的表皮组成的其内部的点集及紧紧包着这些点的表皮组成的。物体表面必须具有的性质物体表面必须具有的性质:(1)连通性:任意两个点可用一条路径连接起来(2)有界性:可将空间分为两部分,其中一部分是有界的(3)非自相交性:表面不能自相交(4)可定向性:可明确定义内侧或外侧(5)闭合性:拓扑关系决定。如一条边有且仅有两个顶点2024/7/2925点点的的领领域域:如果P是点集S的一个元素,那么点P的以R(R0)为半径的领域指的是围绕点P的半径为R的小球(二维情

12、况下为小圆)。内内点点:点集中的这样一些点,它们具有完全包含于该点集的充分小的领域。边界点:边界点:不具备上述点集中性质的点。三三维维有有效效物物体(正则集,正则形体)的的定定义义:三维空间中由内部点构成的点集的闭包。2024/7/2926定义: 点集A的正则运算r为:正则运算即为先对物体取内点再取闭包的运算。rA称为A的正则集正则集 (R-Set)。 内点运算内点运算闭包运算闭包运算实体表面上一条边所连接的面多于一个,这条边上任意一点的小领域都包含着来自这些面上的点,因此该领域与圆盘不是拓扑等价的,这就是非二维流形。非二维流形。X图4-8 正则形体(c)非二维流形?2024/7/2928实实

13、体体:对对于于一一个个占占据据有有限限空空间间的的正正则则形形体体,如如果果其其表表面是二维流形,则该正则形体为实体面是二维流形,则该正则形体为实体。或者:对于任一形体,如果它是3维欧氏空间R3中非空、有界的封闭子集,且其边界是二维流形(即该形体是连通的),我们称该形体为正则形体,否则称为非正则形体。(b)有悬边(c)一条边有两个以上的邻面(不连通)(a)有悬面2024/7/29294.1.5 正则集合运算正则集合运算集合运算(并、交、差)是构造形体的基本方法。有效实体的封封闭闭性性: : 一个有效的实体经过一系列的集合运算之后,仍然为一个有效实体。集合运算集合运算应用于有效实体有效实体的运算

14、:?正则形体经过集合运算后,可能会产生悬边、悬面正则形体经过集合运算后,可能会产生悬边、悬面等低于三维的形体等低于三维的形体普通集合运算与正则集合运算普通集合运算与正则集合运算:把能够产生正则形体的集合运算称为正则集合运算正则集合运算2024/7/29302024/7/2931有两种方法实现正则运算:间接方式和直接方式间接方式:间接方式:普通集合运算普通集合运算 + + 其他规则其他规则 按按通通常常的的集集合合运运算算求求结结果果,再再用用规规则则判判断断删删去去不不符符合合正正则则形形体定义的部分,如孤立边、孤立面等,得到正则形体。体定义的部分,如孤立边、孤立面等,得到正则形体。点的邻域:

15、P是点集S的一个元素,则点P的以R(R0)为半径的邻域是指围绕点P的半径为R的小球(二维情况下为小圆)。集合S在点P附近的局部几何性质:当且仅当P的邻域为满时(邻域是S的点集),P在S之内;当且仅当P的邻域为空时,P在S之外;当且仅当P的邻域既不满也不空时,P在S的边界上。2024/7/2932P PA A与P PB B的交集为空所以P点不在它们的正则交集之中,而R RA A与R RB B的交集既不为空也不满,所以R R点在边界2024/7/2933直直接接方方式式:定定义义出出正正则则集集合合算算子子的的表表达达式式,用用它它直直接接得得出出符合正则形体定义的结果。符合正则形体定义的结果。在

16、三维空间中,给定一个正则形体S,空间点集被分为三个子集:S的内部点集:i SS的边界点集:b SS之外的点集2024/7/2934几何造型中的集合运算几何造型中的集合运算: : 对集合中的成员进行分类的问题决定集合成员分类决定集合成员分类-分类函数分类函数: 若给定一个正则形体S及一个有界面G,则G相对于S的分类函数可为: C(S,G)=G in S, G out S, G on S 其中: 2024/7/29354.1.6 平面多面体与欧拉公式平面多面体与欧拉公式平面多面体平面多面体:表面由平面多边形构成的三维物体。简简单单多多面面体体: 与球拓扑等价的那些多面体,即经过连续的几何形变可以变

17、换为一个球的多面体。欧欧拉拉公公式式:对于任意简单的多面体,其顶点数V、边数E和面数F满足如下关系:V-E+F=22024/7/2936V-E+F=22024/7/2937一一. 线框模型线框模型线框模型的缺陷:1.二义性4.2 三维形体的表示三维形体的表示2024/7/2938二二. 实体模型实体模型(实体造型技术)可以将实体模型的表示大致分为三类:边界表示边界表示(Boundaryrepresentation,B-reps)构造表示构造表示(扫描表示、构造实体几何表示和特征表示)分解表示分解表示(四叉树、八叉树、多叉树等)2024/7/29394.2.1 多边形表面模型(边界表示)多边形表

18、面模型(边界表示)边界表示(B-reps)的最普遍方式是多多边边形形表表面面模模型型,它使用一组包围物体内部的平面多边形,也即平面多面体,来描述实体。图4-17 四面体及其点、边、面的关系BCDA顶点顶点ABCD体体V边边ABBCCAADBDCD面面ABCABDBCDACD数据模型数据模型3:多边形网格:多边形网格三维形体的曲面边界通常用多边形网格(polygonmesh)的拼接来模拟。三角形带、四边形网格三角形带、四边形网格2024/7/29414.2.2 扫描表示扫描表示(构造表示)构造表示)扫扫描描表表示示法法(sweep representation):基于一个基体(一般是一个封闭的平

19、面轮廓)沿某一路径运动而产生形体。包含两个要素:一是作扫描运动的基本图形;二是扫描运动的路径。2024/7/29424.2.3 构造实体几何法(构造表示)构造实体几何法(构造表示)构造实体几何法(构造实体几何法(CSG,Constructive Solid Geometry)由两个实体(立方体、圆柱、圆锥等)间的并、交或差操作生成新的实体。4.2.4 空间位置枚举表示(分解表示)空间位置枚举表示(分解表示)空空间间位位置置枚枚举举表表示示法法将包含实体的空间分割为大小相同、形状规则(正方形或立方体)的体素,然后,以体素的集合来表示图形对象。二维情况,常用二维数组存放。三维情况下,常用三维数组p

20、ijk来存放。2024/7/2944四叉树四叉树象限的三个状态:象限的三个状态:F(Full):完全被图形覆盖B(Boundary):部分被覆盖E(Empty):完全没有被覆盖2024/7/2945课后作业:课后作业:习题四(习题四(p103)4.1.4.1.名词解释(略名词解释(略)4.5.4.5.简单多面体的欧拉公式满足何条件?复杂多面体的呢?4.6试比较线框模型和实体模型的优缺点。4.7简述有哪些方法来实现多边形表面模型。4.8简述三维形体的扫描表示方法。4.9简述如何利用CSG树来表示三维形体。4.11举例说明如何用四叉树表示二维形体。4.12试说明何谓分形几何。2024/7/2946

21、试用四叉树表示如下图所示二维平面图形,象限试用四叉树表示如下图所示二维平面图形,象限编码如图中所标。编码如图中所标。 课堂测验:课堂测验:12342024/7/2947第5章基本图形生成算法提出问题提出问题如何在指定的输出设备上根据坐标描述构造基本二维几何图形(点、直线、圆、椭圆、多边形域、字符串及其相关属性等)。2024/7/29485.1 直线的扫描转换直线的扫描转换对直线进行光栅化时,需要在显示器有限个象素中,确定最佳逼近该直线的一组象素,并且按扫描线顺序,对这些象素进行写操作,这个过程称为用显示器绘制直线或直线的扫描转换。直线绘制的质量要求:直线绘制的质量要求:1.直线要直:尽量接近理

22、想直线2.直线的端点要准确:即无定向性和断裂情况3.直线的亮度、色泽要均匀4.画线的速度要快5.要求直线具有不同的色泽、亮度、线型等2024/7/2949程序程序K1K1K1K1从L的起点P0的横坐标x0向L的终点P1的横坐标x1步进,取步长=1(个象素),用L的直线方程y=kx+b计算相应的y坐标,并取象素点(x,round(y)作为当前点的坐标。因为: yi+1 = kxi+1+b=k1xi+b+kDx=yi+kDx 所以,当Dx =1; yi+1 = yi+k。也就是说,当x每递增1,y递增k(即斜率)。DDA算法算法程序例程序例2024/7/29505.1.2 中点中点Bresenha

23、m算法算法直线的方程该直线方程将平面分为三个区域:对于直线上的点,F(x,y)=0;对于直线上方的点,F(x,y)0;对于直线下方的点,F(x,y)0;而对于圆内的点,F(x,y)0。2024/7/2953中点中点Bresenham算法原理:算法原理:2024/7/29545.3 椭圆的扫描转换椭圆的扫描转换5.3.1 椭圆的特征椭圆的特征2024/7/29555.3.2 椭圆的中点椭圆的中点Bresenham算法算法算算法法原原理理: : 绘绘制制从从( (0, 0, b b) )到到( (a, a, 0 0) )逼逼近近于于椭椭圆圆弧的象素序列。弧的象素序列。(0, b)(a, 0)202

24、4/7/29565.4 多边形的扫描转换与区域填充多边形的扫描转换与区域填充多多边边形形的的扫扫描描转转换换:通过确定穿越区域的扫描线的覆盖区间来填充;区区域域填填充充: 从给定的位置开始涂描直到指定的边界条件为止。2024/7/29575.4.1 多边形的扫描转换多边形的扫描转换顶点表示顶点表示用多边形的顶点序列来刻划多边形点点阵阵表表示示是用位于多边形内的象素的集合来刻划多边形扫描转换多边形或多边形的填充扫描转换多边形或多边形的填充:多边形顶点表示点阵表示1.什么是多边形的扫描转换2024/7/29582.x-扫描线算法基本思想基本思想按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的

25、颜色显示这些区间的象素,完成填充工作。2024/7/2959011110222填充过程实例2024/7/2960有有效效边边(Active Edge):指与当前扫描线相交的多边形的边,也称为活性边。有有效效边边表表(Active Edge Table, AET):把有效边按与扫描线交点x坐标递增的顺序存放在一个链表中,此链表称为有效边表。有效边表的每个结点内容:xymax1/knext当前扫描线与边的交点边的最大扫描线值斜率链表指针2024/7/2961(3)每条边的数据形成一个结点,内容包括:该扫描线与该边的初始交点x(即较低端点的x值),该边的最大y值ymax,斜率1/k。(4)同一桶中若

26、干条边按x|ymin由小到大排序,若x|ymin相等,则按照1/k由小到大排序。x|yminymax1/knext边低端点处的x值边的最大扫描线值斜率链表指针2024/7/2962构造边表1.41.42/5p2p112p p7 712-10 1Y=87 75p0p69p p11.511.591/25 6(b) y=8的有效边边表xymax1/knextx=xx=x0 0+(y-y+(y-y0 0)/k)/k2024/7/29633. 改进的有效边表算法(改进的有效边表算法(Y连贯性算法)连贯性算法)改进原理改进原理:处理一条扫描线时,仅对有效边求交利用扫描线的连贯性利用多边形边的连贯性2024

27、/7/29645.4.2 5.4.2 边缘填充算法边缘填充算法边缘填充算法边缘填充算法基本思想:按任意顺序处理每条边时,首先求出该边与扫描线的交点,然后将每一条扫描线上交点右方的所有象素取补。算法简单,但对于复杂图形,每一象素可能会被多次访问栅栏填充算法栅栏填充算法栅栅栏栏指的是一条过多边形顶点且与扫描线垂直的直线。它把多边形分为两半。基本思想:按任意顺序处理每条边时,将交点与栅栏之间的象素取补。比边缘填充有改进,但仍有一些象素会被重复访问2024/7/29655.4.3 5.4.3 区域填充区域填充区区域域:已经表示成点阵形式的填充图形,它是像素集合。区区域域填填充充:从区域内的一个点(种子

28、)开始,有内向外将填充色扩展到整个区域内的过程。边边界界表表示示法法: 把位于给定区域的边界上的象素一一列举出来的方法。边界填充算法(Boundary-fill Algorithm)。内点表示内点表示: 枚举出给定区域内所有象素的方法。泛填充算法(Flood-fill Algorithm)2024/7/29664-邻接点邻接点和8-邻接点邻接点:区域可分为:区域可分为:4-连通区域连通区域和8-连通区域连通区域2024/7/29675.5 5.5 字符处理字符处理ASCII码码:“美国信息交换用标准代码集”(AmericanStandard Code for Information Inter

29、change),简称ASCII码。国国际际码码:“中华人民共和国国家标准信息交换编码,简称为国际码,代号GB231280。字库字库:字库中储存了每个字符的图形信息。矢量字库矢量字库和点阵字库点阵字库2024/7/29685.5.1 5.5.1 点阵字符点阵字符在点阵表示中,每个字符由一个点阵位图点阵位图来表示显示时显示时:形成字符的象素图案字符的象素图案 (12 x 16点阵)点阵)5.5.2 5.5.2 矢量字符矢量字符矢量字符采用直线和曲线段来描述字符形状,矢量字符库中记录的是笔划信息笔划信息。显示时显示时:解释字符的每个笔划信息2024/7/2970作业:作业:习题五(习题五(p149)

30、5.1 5.1 名词解释名词解释 (略)(略)5.2 5.2 分别利用分别利用DDADDA算法、中点算法、中点BresenhamBresenham算法和改进的算法和改进的BresenhamBresenham算法扫描转换直线段算法扫描转换直线段P P1 1P P2 2,其中其中P P1 1为为(0,0), (0,0), P P2 2为为( (8,6)8,6)。(编程并上机实现编程并上机实现)5.3 5.3 试用中点试用中点BresenhamBresenham算法画直线段的原理,推导算法画直线段的原理,推导斜率在斜率在-1-1,00之间的直线段绘制过程之间的直线段绘制过程(要求写清(要求写清原理、

31、误差函数、递推公式以及最终画图过程原理、误差函数、递推公式以及最终画图过程/ /算算法步骤)。法步骤)。2024/7/2971编程作业:编程作业:习题五(习题五(p149)5.65.6 利用中点利用中点BresenhamBresenham算法扫描转换圆心在原点算法扫描转换圆心在原点, , 半径半径为为8 8的圆。(的圆。(编程并上机实现编程并上机实现)5.7 5.7 利用中点利用中点BresenhamBresenham画圆算法的原理,推导第一象限画圆算法的原理,推导第一象限x=yx=y到到y=0y=0之间圆弧段的扫描转换算法之间圆弧段的扫描转换算法(要求写清原(要求写清原理、误差函数、递推公式

32、以及最终画图过程理、误差函数、递推公式以及最终画图过程/ /算法算法步骤)。步骤)。5.85.8 利用中点利用中点BresenhamBresenham算法扫描转换算法扫描转换a=6,b=5a=6,b=5的椭圆。的椭圆。(编程并上机实现编程并上机实现)2024/7/2972编程作业:编程作业:习题五(习题五(p149)5.10 利用x-扫描转换算法进行多边形填充时,指出图5-58中的交点数。5.13 简述栅栏填充算法,图示其填充过程。5.14 简述边标志填充算法,图示其填充过程。5.19 分别构造边界表示的4-连通区域和8-连通区域,并说明两者的区别。5.20 多边形填充算法中如何进行内外测试?

33、5.24 常用的反走样方法有哪些?2024/7/2973利用利用DDADDA算法扫描转换直线段算法扫描转换直线段P1P2P1P2,其中其中P1P1为为(1,0), (1,0), P2P2为为(8,5)(8,5)。(1 1)试写出直线段)试写出直线段P1P2P1P2上每一点的坐标值。上每一点的坐标值。(2 2)画出示意图。)画出示意图。课堂测验:课堂测验:2024/7/2974x xy y213 4 5 6 7 8 9111234567891011121012P6P5P4P7P1P3P21 1、利用、利用X-X-扫描线算法进行多边形填充时,指出图中各顶点与扫描线算法进行多边形填充时,指出图中各顶

34、点与扫描线的交点数扫描线的交点数。 课堂测验:课堂测验:2 2、采用有效边表算法进行多边采用有效边表算法进行多边形填充时,试写出:形填充时,试写出:(1 1)该多边形的边表()该多边形的边表(ETET表)表)(注: 交点算做1个时不用分离。)(2 2)当扫描线)当扫描线Y=2Y=2时的有效边时的有效边表(表(AETAET表)。表)。2024/7/2975边缘填充算法边缘填充算法的基本思的基本思想:按任意顺序处理每条边想:按任意顺序处理每条边时,首先求出该边与扫描线的交点,然后将每一条时,首先求出该边与扫描线的交点,然后将每一条扫描线上交点右方的所有象素取补扫描线上交点右方的所有象素取补。课堂练

35、习课堂练习:x xy y213456789111234567891011121012P6P5P4P7P1P3P2请按照上述基本思想,请按照上述基本思想,并结合该算法的动画演并结合该算法的动画演示,给出示,给出边缘填充算法边缘填充算法的详细程序框图。的详细程序框图。 (参照右图) 2024/7/2976从你姓名的汉语拼音中选从你姓名的汉语拼音中选3 3个英个英文大写字母设计文大写字母设计5757的字符掩模的字符掩模矩阵(位图)。矩阵(位图)。并画出显示这些并画出显示这些字符的程序流程图字符的程序流程图。课堂练习课堂练习:2024/7/2977第6章 二维变换及二维观察提出问题提出问题如何对二维图

36、形进行方向、尺寸和形状方面的变换如何方便地实现在显示设备上对二维图形进行观察2024/7/29786.1.3 二维变换矩阵二维变换矩阵假设:p(x,y)为xOy平面上二维图形变化前的点, p(x,y)为变换后的点,则二维变换为:其中T2D表示为4个子矩阵。T T1 1T T2 2T T3 3T T4 4比例、旋转、对称、错切等平移投影整体比例2024/7/29796.2 基本几何变换基本几何变换基本几何变换都是相对于坐标原点和坐标轴进行相对于坐标原点和坐标轴进行的几何变换:的几何变换: p(x,y)为xOy平面上二维图形变化前的点, p(x,y)为变换后的点。6.2.1 平移变换平移变换平平移

37、移是指将p点沿直线路径从一个坐标位置移到另一个坐标位置的重定位过程。2024/7/29806.3 复合变换复合变换复合变换复合变换是指:图形作一次以上的几何变换,变换结果是每次的变换矩阵相乘。任何一复杂的几何变换都可以看作基本几何变换的组合形式。复合变换具有如下形式:2024/7/29816.3.8 光栅变换光栅变换直接对帧缓存中象素点进行操作的变换称为光栅变换光栅变换。光栅平移变换:2024/7/29821. 1. 在齐次坐标系中,写出下列变换矩阵:在齐次坐标系中,写出下列变换矩阵:(a a) 整个图象放大整个图象放大2 2倍;倍;(b b) y y向放大向放大4 4倍和倍和x x向放大向放

38、大3 3倍;倍;(c c) 图象上移图象上移1010个单位和右移个单位和右移5 5个单位;个单位;课堂练习:课堂练习:Y YX X(d) 原图0 30 32 2(d d) 试试写写出出右右图图x x正正向向错错切切2 2,y y负负向向错错切切3 3的的变变换换矩矩阵阵,并并画画出出错错切切后后的的图图形。形。2024/7/29836.4 二维观察二维观察6.4.1 基本概念基本概念在计算机图形学中,将在用户坐标系中需要进行观察和处理的一个坐标区域称为窗口窗口(Window)将窗口映射到显示设备上的坐标区域称为视视区区(Viewport)2024/7/2984要将窗口内的图形在视区中显示出来,

39、必须经过将 窗 口 到 视 区 的 变 换 ( Window-ViewportTransformation) 处 理 , 这 种 变 换 就 是 观观 察察 变变 换换(Viewing Transformation)。2024/7/29856.4.3 窗口到视区的变换窗口到视区的变换要将窗口内的点(xw,yw)映射到相对应的视区内的点(xv,yv)需进行以下步骤:(1)将窗口左下角点(wxl, wyb)移至用户坐标系的坐标原点:2024/7/29866.5 裁剪裁剪在二维观察中,需要在观察坐标系下对窗口进行裁裁剪剪,即只保留窗口内的那部分图形,去掉窗口外的图形。算法:1.图形元素在窗口内外的判

40、别;2.图形元素与窗口的交点。XYwxlwybwxrwyt窗口(a)窗口中的点(xw,yw)假设假设窗口是标准矩形,即边与坐标轴平行的矩形,由四条边描述:上(y=wyt)、下(y=wyb)、左(x=wxl)、右(x=wxr)。2024/7/29876.5.1 点的裁剪点的裁剪对于任意一点P(x, y),如果满足则点p(x,y)在矩形窗口内,否则在矩形窗口外。XYwxlwybwxrwyt窗口(a)窗口中的点(xw,yw)P(x,y)P(x,y)2024/7/29886.5.2 直线段的裁剪直线段的裁剪假定假定直线段用p1(x1, y1) p2(x2, y2)表示。直线段和剪裁窗口的可能关系:l完

41、全落在窗口内l完全落在窗口外l与窗口边界相交2024/7/29891. Cohen-Sutherland算法算法基基本本思思想想:对每条直线段p1(x1, y1) p2(x2, y2)分三种情况处理:(1)直线段完全可见,“简取”之。XYwxlwybwxrwyt窗口(a)窗口中的直线2024/7/2990编编码码:对于任一端点(x, y),根据其坐标所在的区域,赋予一个4位的二进制码D3D2D1D0。编码规则如下:若xwxr,则D1=1,否则D1=0;若ywyt,则D3=1,否则D3=0。2024/7/29912. 中点分割算法中点分割算法基本思想基本思想:当对直线段不能简取(不满足code1

42、|code2=0)也不能简弃(不满足code1&code20)时,简单地把线段等分为二段,对两段重复上述测试处理,直至每条线段完全在窗口内或完全在窗口外。2024/7/2992中点分割算法的核心思想核心思想是通过二分逼近来确定直线段与窗口的交点。2024/7/29933. Liang-Barsky算法算法梁友栋和Barskey提出了更快的参数化裁剪算法。首先按参数化形式写出裁剪条件:这四个不等式可以表示为形式:upkqk (k=1, 2, 3, 4)其中,参数pk,qk定义为2024/7/2994Liang-BarskyLiang-Barsky算法的一般情况:算法的一般情况:U Umax ma

43、x U UminminU Umax max U Uminmin裁剪直线与窗口无交无交U Umax max U Uminmin裁剪直线与窗口有交有交Ul ,Uu,10, Ur ,UdUr ,Ud,10, Ul ,UuUl ,Ud,10, Ur ,UuUr ,Uu,10, Ul ,Ud三选一左边Ul,右边Ur上边Uu,下边UdUu,10, UdUd,10,Uu上边Uu,下边UdUl,10, UrUr,10,Ul二选一左边Ul,右边Ur上限组上限组( (U Uminmin) )下限组下限组( (U Umaxmax) )参数选取参数选取窗口参数窗口参数方向方向在有交的情况下,分别将在有交的情况下,分别

44、将U Umaxmax和和U Uminmin代代入入U U,计算出直线与窗口的交点:,计算出直线与窗口的交点:2024/7/29956.5.3 多边形的裁剪多边形的裁剪问题的提出:2024/7/29961. Sutherland-Hodgeman多边形裁剪多边形裁剪基本思想基本思想: 逐边裁剪算法逐边裁剪算法2024/7/29972024/7/29982. Weiler-Atherton多边形裁剪多边形裁剪2024/7/29996.1 名次解释:齐次坐标,规范化齐次坐标,图形的几何变换,窗口,视区,变焦距效果。6.2 说明二维变换矩阵T2D 中各元素在变换中的具体作用。课后作业:课后作业:习题六

45、(习题六(p176)2024/7/29100课后作业:课后作业:编程并上机实现习题六(习题六(p177)6.13 试用编码裁剪算法裁剪如图6-39所示线段。6.14 试用中点分割算法裁剪如图6-39所示线段。XY20A(3,3)2窗口图6-39B(-1,-2)2024/7/29101作业:作业:习题六(习题六(p177)编程并上机实现XY202图6-4066A(4,1)D(6,8)C(8,1)B(5,4)E(1,5)6.16 试用Sutherland-Hodgeman算法对如图6-40所示多边形进行裁剪:画出每次裁剪对应的图形,并标明输入输出的顶点。6.17 试用Weiler-Atherton

46、算法对如图6-40所示多边形进行裁剪:标出裁剪路径对应的顶点序列,写出每个边裁剪后输出的线段。2024/7/29102试推导证明相对于直线试推导证明相对于直线y=-xy=-x的反射(对称)的反射(对称)变换矩阵为:变换矩阵为:已知关于已知关于y y轴的对称变换矩阵为:轴的对称变换矩阵为:课堂练习:课堂练习:YXP(-y,-x)P(x,y)x=-y2024/7/29103课堂练习:课堂练习:6.7 如图所示四边形ABCD:1.求绕P(5,4)点逆时针旋转45的变换矩阵;2.并求出变换后各顶点坐标;3.画出变换后的图形。X X2 21 13 34 45 56 67 78 8Y Y1 12 23 3

47、4 45 56 67 78 8A(4, 1)P(5, 4)C(7, 7)D(1, 4)B(7, 3)2024/7/29104课堂练习:课堂练习:习题六(习题六(p183p183)6.14 试用Liang-Barsky算法裁剪如图6-40所示线段。要求写出窗口边界对应的参数U值以及求解步骤。XY20A(3,3)2窗口图6-40B(-1,-2)2024/7/29105第第7章章 三维变换三维变换及三维观察及三维观察提出问题提出问题如何对三维图形进行方向、尺寸和形状方面的变换如何进行投影变换如何方便地实现在显示设备上对三维图形进行观察2024/7/291067.1 三维变换的基本概念三维变换的基本概

48、念7.1.1 三维齐次坐标变换矩阵三维齐次坐标变换矩阵2024/7/291077.1.2 几何变换几何变换图图形形的的几几何何变变换换是指对图形的几何信息经过平移、比例、旋转等变换后产生新的图形。l点的矩阵变换l线框图的变换l用参数方程描述的图形的变换2024/7/291087.1.3 平面几何投影平面几何投影投投影影变变换换就是把三维立体(或物体)投射到投影面上得到二维平面图形。l平平面面几几何何投投影影主要指平行投影、透视投影以及通过这些投影变换而得到的三维立体的常用平面图形:三视图、轴测图。l观观察察投投影影是指在观察空间下进行的图形投影变换。2024/7/29109投影中心、投影面、投

49、影线投影中心、投影面、投影线:图7-1 线段AB的平面几何投影BAAB投影线投影中心在无穷远处线段(b) 平行投影BAAB投影线投影中心线段(a) 透视投影2024/7/29110平面几何投影可分为两大类:透视投影透视投影:投影中心到投影面之间的距离是有限的。平行投影平行投影:投影中心到投影面之间的距离是无限的。2024/7/29111平面几何投影平行投影透视投影正投影斜投影三视图正轴测斜等测斜二测正等测正二测正三测一点透视二点透视三点透视主视图侧视图俯视图图7-3 平面几何投影的分类2024/7/291127.2 三维几何变换三维几何变换其中T3D表示为4个子矩阵。T T1 1T T2 2T

50、 T3 3T T4 4比例、旋转、比例、旋转、错切、对称等错切、对称等平移平移透视透视投影投影整体比例整体比例2024/7/291137.2.1 三维基本几何变换三维基本几何变换三维基本几何变换都是相对于坐标原点和坐标轴进行的几何变换假设三维形体变换前一点为p(x,y,z),变换后为p(x,y,z)。2024/7/29114(1)绕z轴旋转z zy yx x2024/7/29115(2)绕x轴旋转z zy yx x2024/7/29116(3)绕y轴旋转z zy yx x2024/7/291174.4.对称变换对称变换(1)关于坐标平面对称 关于xoy平面进行对称变换的矩阵计算形式为:2024

51、/7/29118关于yoz平面的对称变换为:2024/7/29119关于zox平面的对称变换为:2024/7/29120(2)关于坐标轴对称变换关于x轴进行对称变换的矩阵计算形式为:2024/7/29121关于y轴的对称变换为:2024/7/29122关于z轴的对称变换为:2024/7/291235.5.错切变换错切变换 2024/7/29124(1)沿x方向错切2024/7/29125(2)沿y方向错切2024/7/29126(3)沿z方向错切2024/7/291276. 6. 逆变换逆变换所谓逆变换逆变换即是与上述变换过程的相反的变换(1)平移的逆变换2024/7/29128(2)比例的逆

52、变换局部比例变换的逆变换矩阵为:2024/7/29129(3)旋转的逆变换相对于x轴和y轴的逆变换 和 ?2024/7/291307.2.2 三维复合变换三维复合变换三三维维复复合合变变换换是指图形作一次以上的变换,变换结果是每次变换矩阵相乘:2024/7/291311. 相对任一参考点的三维变换相对任一参考点的三维变换相对于参考点F(xf,yf,zf)作比例、旋转、错切等变换的过程分为以下三步:(1)将参考点F移至坐标原点;(2)针对原点进行二维几何变换;(3)进行反平移。2024/7/291322.绕任意轴的三维旋转变换问题问题:如何求出为TRAB?图7-9 P点绕AB轴旋转XYZABPP

53、2024/7/29133分析分析:2024/7/29134公式推导公式推导(p187)(p187):(1)将坐标原点平移到A点(2)将OBB绕x轴逆时针旋转角,则OB旋转到xoz平面上(3)将OB绕y轴顺时针旋转角,则OB旋转到z轴上。(4)经以上三步变换后,AB轴与z轴重合,此时绕AB轴的旋转转换为绕z轴的旋转。(5)最后,求TtA,TRx,TRy的逆变换,回到AB原来的位置。2024/7/29135类似地,针对任意方向轴的图形变换可用五个步骤来完成:(1)使任意方向轴的起点与坐标原点重合,此时进行平移变换。(2)使方向轴与某一坐标轴重合,此时需进行旋转变换,且旋转变换可能不止一次。(3)针

54、对该坐标轴完成变换。(4)用逆旋转变换使方向轴回到其原始方向。(5)用逆平移变换使方向轴回到其原始位置。2024/7/291367.3 平行投影平行投影平行投影可分成两类:正投影和斜投影。投影方向投影平面投影方向投影平面(a)正投影(b)斜投影7-11 平行投影投影平面法向a投影平面法向2024/7/291377.3.1 正投影正投影正投影又可分为:三视图和正轴测。当投影面与某一坐标轴垂直时,得到的投影为三三视图视图;否则,得到的投影为正轴测图正轴测图。7-12 正投影(b)正轴测xyO投影平面投影方向z z投影方向投影平面(a)三视图xyz zO三视图三视图:三视图包括主视图、侧视图和俯视图

55、三种,投影面分别与X轴、Y轴和Z轴垂直。2024/7/29139正轴测图正轴测图正轴测有等轴测、正二测和正三测三种:等等轴轴测测: 投影面与三个坐标轴之间的夹角都相等,也称为正等测正等测;正二测正二测: 投影面与两个坐标轴之间的夹角相等;正三测正三测: 投影面与三个坐标轴之间的夹角都不相等。2024/7/29140xzyOxzyOxzyOxzyOxzyOxzyO(a)等轴测(b)正二测(c)正三测图7-14 正轴测投影面及一个立方体的正轴测投影图投影平面投影平面投影平面2024/7/291411. 三视图三视图计算步骤:(1) 确定三维形体上各点的位置坐标;(2) 引入齐次坐标,求出所作变换相

56、应的变换矩阵;(3) 将所作变换用矩阵表示,通过运算求得三维形体上各点(x,y,z)经变换后的相应二维点(x,y)或(y,z); (4) 由变换后的所有二维点绘出三维形体投影后的三视图。2024/7/291422. 主视图主视图将三维形体向xoz面(又称V面,立面)作垂直投影(即正平行投影),得到主视图。7-13 三维形体及其三视图zyxy主视图主视图俯视图侧视图oxzyo2024/7/29143由三维形体到主视图的投影变换矩阵:其中:2024/7/291443. 俯视图俯视图三维形体向xoy面(又称H面,水平面)作垂直投影得到俯视图:(1)向H面做投影变换;(2)使H面绕x轴负转90,以便与

57、主视图画在同一平面内;(3)使H面沿z方向平移一段距离-z0,使主、俯视图间隔开。xzyo7-13 三维形体及其三视图zyxy主视图俯视图俯视图侧视图o2024/7/29145由三维形体到俯视图的投影变换矩阵:其中:2024/7/291464. 侧视图侧视图获得侧视图是将三维形体往yoz面(侧面W)作垂直投影。(1)侧视图的投影变换;(2)使W面绕z轴正转90;(3)使W面沿负x方向平移一段距离x0。7-13 三维形体及其三视图zyxy主视图俯视图侧视图侧视图oxzyo2024/7/29147由三维形体到侧视图的投影变换矩阵:其中:2024/7/291485. 正轴测图的投影变换矩阵正轴测图的

58、投影变换矩阵分析分析:图7-15 正轴测图的形成xzyoABCDEFb投影平面投影平面投影矢量投影矢量2024/7/29149公式推导公式推导:(1) 先绕y轴顺时针旋转角;(2) 再绕x轴逆时针旋转角;(3) 将三维形体向xoy平面作正投影。最后得到正轴测图的投影变换矩阵:2024/7/291506. 正等测图正等测图分析分析:图7-15 正轴测图的形成xzyoABCDEFb投影平面投影平面投影矢量投影矢量2024/7/291517. 正二测图正二测图分析分析:图7-15 正轴测图的形成xzyoABCDEFb投影平面投影平面投影矢量投影矢量2024/7/29152课后作业课后作业习题七习题七(p227)7.1名词解释:平面几何投影、观察投影、平行投影、透视投影、正投影、斜投影、一点透视、两点透视、三点透视。7.2试说明什么是投影变换,给出其分类图。7.3已知三维变换矩阵T3d。如果对三维物体各点坐标进行变换,试说明矩阵T3d中各元素在变换中的作用。2024/7/29153

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号