计算机图形学基础知识重点整理Word格式.docx
- 文档编号:13471837
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:26
- 大小:274.37KB
计算机图形学基础知识重点整理Word格式.docx
《计算机图形学基础知识重点整理Word格式.docx》由会员分享,可在线阅读,更多相关《计算机图形学基础知识重点整理Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
特点:
A文件所占的空间大。
B位图放大到一定的倍数后会产生锯齿。
C位图图像在表现色彩、色调方面的效果比矢量图更加优越。
图形:
狭义上又称为矢量图形或参数图形。
按照数学方法定义的线条和曲线组成,含有几何属性。
或者说更强调场景的几何表示,是由场景的几何模型和景物的物理属性共同组成的。
A文件小。
B可采取高分辨印刷。
C图形可以无限缩放。
3图形学过程
3D几何建模、3D动画设置、绘制(光照和纹理)、生成图像的存储和显示
4与图像处理
计算机图形学:
研究模型及数据的建立和由模型生成图像的过程和方法。
(模型到图像)
图像处理:
将客观景物数字化成图像,研究数字化图像的采集、去噪、压缩、增强、锐化、复原及重建等。
(图像到特征)
对立统一的关系。
5计算机图形信息的特点
图形信息表达直观,易于理解。
图形信息表达精确、精炼。
图形信息能“实时”的反映事物的分布和变化规律
6计算机图形学的应用
计算机辅助设计及计算机辅助制造
科学计算可视化
地图制图与地理信息系统
计算机动画、游戏
用户接口
计算机艺术
7计算机图形系统
当ΔD>
0时,
若2(ΔD-xi)-1≤0,选D
若2(ΔD-xi)-1>
0,选V
当ΔD=0时,选D
完整流程:
(1)初值:
从(0,R)开始画圆,ΔD=(0+1)2+(0-1)2-R2=2(1-R);
(2)根据ΔD的符号判断,计算dHD或dDV,确定选中D、H、V中某点;
(3)若下一像素为H(x’,y’)=(x+1,y),则Δ’D=ΔD+2x’+1;
(4)若下一像素为D(x’,y’)=(x+1,y-1),则Δ’D=ΔD+2x’-2y’+2;
(5)若下一像素为V(x’,y’)=(x,y-1),则Δ’D=ΔD-2y’+1;
(6)重复
(2)~(5),直至完成圆弧。
第三章
1多边形的表示方法
A顶点表示:
用多边形的顶点序列来刻画多边形。
表示方法直观,几何意义强,占内存空间少。
但没指明哪些像素在多边形内,不能直接用于着色
B点阵表示:
用位于多边形内部或边界上的像素集合来刻画多边形。
会失去很多重要的几何信息,但它是光栅显示系统显示面着色时所需的图形表示形式。
2扫描转换与区域填充的联系与区别
(1)定义
多边形的扫描转换:
从多边形顶点表示到点阵表示的转换,这种转换称为多边形的扫描转换。
这种转换就是给多边形包围的区域着色的过程。
即从多边形的给定边界出发,求出位于其内部的各个像素,并将其灰度和颜色值写入帧缓存中相应单元。
主要用来填充多边形区域以及由多边形拟合的其他简单曲线区域。
区域填充:
从给定的位置开始涂描直到指定的边界为止。
区域是指一组相邻而又相连的像素,且具有相同的属性。
区域填充可用在具有复杂形状边界的多边形以及交互式绘图系统中。
(2)联系
都是光栅图形面着色,二者可相互转换。
当已知顶点表示的多边形内一点作为种子点,并用扫描转换直线段的算法将多边形的边界表示成八连通区域后,多边形扫描转换问题就可转化为区域填充问题;
若已知给定区域是多边形区域,并且通过一定的方法求出它的顶点坐标,则区域填充问题便可以转化为多边形扫描转换问题。
(3)区别
A基本思想不同,各自应用的场合不同。
多边形扫描转换是指将多边形的顶点表示转换成点阵表示的方法,而区域填充只改编了区域的填充颜色,没有改变区域的表示方法。
B对边界的要求不同。
多边形扫描转换不要求多边形的边界封闭。
而区域填充为了防止递归填充时跨越区域的边界,需设定边界。
C基于的条件不同。
多边形扫描转换是从多边形的边界信息出发,利用多种形式的连贯性进行填充;
区域填充算法给定区域内一点作为种子点,从这点根据连通性将新的颜色扩散到整个区域。
3矩形填充
填充从ymin到ymax每条扫描线位于xmin和xmax之间的区段就可以了。
共享边的处理方式:
如果像素的中心落在矩形边界的左方或下方时,该像素属于矩形,否则不属于该矩形区域,也就是说,如果象素的中心落在矩形边界的右方或上方时,该象素不属于矩形区域。
4扫描转换三种方法
逐点判断算法(射线法、弧长法);
扫描线填充算法;
边缘填充算法
(1)射线法
由被测点向某方向做射线,计算此射线与多边形所有边的交点个数。
若交点个数为奇数,则被测点在多边形内部;
若交点个数为偶数(包括0),则该点在多边形的外部。
规定射线过顶点时,计数为1;
在射线左边的边与该射线相交时交点有效,应计数;
而在射线右边的边与射线相交时交点无效,不计数(左闭右开原则)。
(2)弧长法
前提:
多边形由有向边组成,即规定沿多边形各边的走向其左侧(或右侧)为多边形的内部。
方法:
以被测点为圆心作单位圆,将全部有向边向单位圆作径向投影,并计算其在单位圆上弧长的代数和。
若代数和为0,则被测点在多边形之外;
若代数和为2Pi,则被测点在多边形之内。
(效率低)
(3)扫描线填充算法
算法思想:
按扫描线顺序,先计算出扫描线与多边形区域边界的交点,然后判断扫描线上的哪些部分在区域边界之内,最后用要求的颜色对边界内的像素填色。
实现方法:
依次考察各条扫描线,一条扫描线从左至右与多边形的交点是成对出现的。
即A、B点,C、D点之间的像素都位于多边形之内,则A、B为一个区段,C、D为一个区段。
对这些区段内的像素用指定的颜色进行填充后,就完成了该扫描线的填充工作,再继续下一条扫描线。
实现步骤(四步):
A求交点:
计算扫描线与多边形各边的交点
B交点排序:
把所有交点按递增顺序进行排序
C交点配对:
第一个交点与第二个交点,第三个交点与第四个交点等,每对交点代表扫描线与多边形的一个相交区间((A、B)(C、D))
D区间填色:
把这些相交区间内的象素置成多边形颜色,把相交区间外的象素置成背景色。
注1:
如何保证交点正确配对?
答:
检查两相邻边在扫描线的哪一侧。
若共享顶点的两条边:
分别落在扫描线两边,取交点1次;
均高于扫描线,取交点2次;
均低于扫描线,取交点0次。
(具体实现:
检查顶点的两条边的另外两个端点的y值,按这两个y值中大于交点y值的个数是0、1、2来决定交点是取零个、一个、两个。
)
注2:
边界上像素的取舍问题?
落在右/上边界的象素不予填充,而落在左/下边界的象素予以填充。
对扫描线与多边形的相交区间,取“左闭右开”;
而正确配对则保证了多边形的“下闭上开”。
数据结构:
为了求出扫描线与多边形边的交点,最简单的方法是将多边形的所有边放在一个表中,称之为边表,在处理每条扫描线时,从表中顺序取出所有的边,分别求这些边与扫描线的交点。
实际上在进行扫描线与多边形边求交点时,应只求那些与扫描线相交的边的交点。
把与当前扫描线相交的边称为活性边。
并把它们按与扫描线交点x坐标递增的顺序存放在一个链表中,称此链表为活性边表。
边表(ET)构造:
先按端点的纵坐标值对所有边作总分组,再将同一组中的边按端点X坐标递增的顺序进行排序。
活性边表(AET):
假设当前扫描线与多边形的某一条边的交点坐标为x,那么下一条扫描线与该边的交点不必从头计算,只要加上一个增量即可。
(设边AB的斜率为k,若其与扫描线yi的交点横坐标为xi,则与扫描线yi+1的交点的横坐标为:
xi+1=xi+1/k)
活性边表(AET)的结点中至少应为对应边保存如下内容:
X:
边与当前扫描线的交点的X坐标;
ΔX:
当前扫描线到下一扫描线之间x的增量
Ymax:
边所交的最高扫描线号;
算法步骤:
优点:
A数据结构和算法本身要比逐点判断算法复杂。
B速度比逐点判断算法快得多。
C利用边的连贯性来加速交点的计算
D利用AET以排除盲目求交
E利用扫描线的连贯性以避免逐点判别
缺点:
对各种表的维持和排序开销大。
(4)边缘填充算法
基本思想:
对于每一条扫描线和每条多边形边的交点(x1,y1),将该扫描线上交点右方的所有像素取补。
(对该区域内象素颜色作偶数次取补运算后,该区域内象素的颜色保持不变,而做奇数次取补运算后,该区域内象素的颜色变为M’。
优点是算法简单,缺点是对于复杂图形,每一象素可能被访问多次,增加了运算量。
(5)(栅栏)边缘填充算法
栅栏:
指的是一条与扫描线垂直的直线。
栅栏位置通常取多边形的顶点,且把多边形分为左右两半。
基本思路:
对于每个扫描线与多边形的交点,将交点与栅栏之间的象素用多边形的属性值取补。
算法特点:
A用求补运算代替排序
B数据结构和程序结构简单
C需要对帧缓存的大量象素反复赋值
D运行速度比扫描线算法慢
5区域填充
区域:
指已经表示成点阵形式的填充图形,它是象素的集合。
分类:
4连通内部表示区域:
可以从任一象素出发,通过上、下、左、右等4个方向的移动,到达另一个象素;
8连通内部表示区域:
从任一个象素出发,需要通过水平、垂直、对角线等8种方向的移动,到达另一个象素。
区域的特点:
A一条扫描线上的像素存在着相关性;
B在多边形边处,像素性质才发生变化;
C将相邻像素放在一起测试,从而减少测试点的数目。
指先将区域的一点赋予指定的颜色,然后将该颜色扩展到整个区域的过程。
区域填充算法要求区域是连通的。
区域建立和定义的方式:
A1内定义区域:
区域内部所有象素具有同一种颜色或亮度值,而区域外的所有象素具有另一种颜色或亮度值。
A2漫水法:
将该区域内的全部象素都设置为新值的算法,即填充内定义的区域
B1边界定义区域:
边界上所有象素均具有特定的颜色或亮度值,而在区域内的象素则具有不是新值的某种颜色或亮度值。
B2边界填充算法:
将边界定义区域中的全部象素值都设置为新值的算法。
6漫水法(种子填充法)
设(x,y)为四连通区域内部的一点,old_Color为区域内部所有象素的原色。
现取(x,y)为种子点,要将整个区域填充为新的颜色new_Color。
填充算法:
先判别象素(x,y)的颜色:
若它的值等于old_Color,说明该象素位于该区域内部,则设置该象素的颜色为new_Color,并对与该象素相邻的上、下、左、右4个相邻象素作递归填充;
否则说明该象素的颜色在区域外或已被填充过,不再进行处理。
7边界填充算法
与漫水法的基本思想一样,只是在测试(x,y)点的象素是否处在区域之内同时又未被访问过时,包括两部分的内容:
与边界值相比较,以检测此象素是否为该区域的一部分;
与新值相比较,以决定该象素是否已被访问过。
前提条件:
在初始状态,区域内没有一个象素已设置为新值。
但是允许新值等于边界值。
在区域内测试(x,y)点的象素是否在区域之内同时又未被访问过,一般采用堆栈的方法。
对边界定义的区域进行填充,基本流程如下:
A种子象素入栈,当栈非空时,执
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 基础知识 重点 整理