计算机图形学 基本知识点(期末复习用)
使用的参考书是《计算机图形学基础及应用教程》,张怡芳 李继芳 柴本成 编著,机械工业出版社。
第一章概述
- 图形:现实世界中能够在人的视觉系统中形成视觉印象的客观对象。
- 图像:实际拍摄或印刷出来的画面。
- 图形图像区别:无本质的区别,其主要区别在于表示方式不同。图形是用矢量表示,图像是用点阵表示。
- 图像处理:将客观世界中原来存在的物体影像处理成新的数字化图像的相关技术。
- 模式识别:对所输入的图像进行分析和识别,找出其中蕴含的内在联系或抽象模型。
- 构成图形的要素:几何要素(轮廓,形状),非几何要素(颜色,材质)
- 表示图形的方法:点阵表示(图像)和参数表示(图形)。
- 计算机图形学:研究怎样利用计算机来生成,处理和显示图形的原理,方法与技术的一门学科。
- CRT的出现为计算机生成和显示图形提供了可能。
- SAGE空中防御系统,标志着交互式图形技术的诞生。
- 一篇题为"Sketchpad:一个人-机通信的图形系统"的论文,首次使用了“Computer Graphics” ,确定了交互图形学作为一个学科分支(提出基本交互技术、图元分层表示概念及数据结构…)
- 光栅图形学(1970–1980)到 真实感图形学(1980–1990)到 实时图形学(1990–XX)
- 图形技术的应用:计算机辅助设计与制造,电子出版及办公自动化,计算机动画娱乐即艺术,地形地貌及地理信息系统,计算机仿真,科学可视化,真实感图形,虚拟现实。
- CRT显示器的技术指标:分辨率,点距,图像刷新,行频帧频,逐行扫描隔行扫描,显示速度,帧缓冲存储器,色彩与灰度等级。
- 液晶显示器的基本技术指标:可视角度,电锯和分辨率。
- 图形输入设备的发展:控制开关穿孔纸----键盘----二维定位设备(鼠标,触摸屏,语言等)----三维定位设备(空间球,数据手套,表情)----用户的思维。
- 图形支撑软件标准:图形核心系统GKS,程序员层次交互式图形系统PHIGS,图形库GL。
- 设备接口标准:计算机图形接口CGI。
- 图形数据存档和传输标准:计算机图形元文件CGM,初始图形数据交换规范IGES,产品数据交换标准STEP,可缩放矢量图形SVG。
- 三原色理论:用适当比例的三种颜色混合,可以获得白色,而且这三种颜色中的任意两种的组合都不能生成第三种颜色。
- 颜色空间:在绘画时可以使用红色、绿色和蓝色这三种原色生成不同的颜色,这些颜色就定义了一个色彩空间。
- 颜色模型(色彩模型):是指某个三维颜色空间上的一个可见光的子集,它包含某个颜色域的所有颜色,但无法包括所有的可见光。常见的颜色模型有:RGB、CMY、HSV、HSL
- RGB(红 绿 蓝):加性原色系统(即由黑色开始,加入合适的基色元素得到所希望颜色)。使用范围:图形显示设备。
- CMY(青 品红 黄):减性原色系统(从白开始,通过从白色中减去某种颜色来定义其他颜色)。 使用范围:图形打印、绘制设备。
- HSV(色彩 饱和度 亮度):适用范围:对应画家本色原理,直观的颜色描述。
- HSL(色彩 饱和度 明度)。使用范围:基于颜色参数的描述。
第二章 基本图形的生成与显示
- 直线生成算法:数值微分法,重点画线算法,Bresenham算法。
- 线段的基本属性:线型(实线,虚线,点线等),线宽(最窄宽度为1像素,最宽宽度是水平或垂直分辨率)和色彩。
- 线宽控制:沿着生成直线时获得的像素点,通过移动一把具有一定宽度的“刷子”来实现。分为垂直线刷子,水平线刷子,方形刷子。
- 垂直线刷子:假设直线斜率在[-1,1]之间,把刷子放置成垂直方向,刷子中点对准直线一端点,然后让刷子中点往直线的另一端移动,即可“刷出”具有一定宽度的线。
入图片描述](https://img-blog.csdnimg.cn/20210617112659746.png) - 水平线刷子:直线斜率不在[-1,1]之间,可以把刷子放置成水平方向,刷子中点对准直线一端点并往直线的另一端移动,即可“刷出”具有一定宽度的线。
- 方形刷子:把边宽为指定线宽的正方形的中心沿直线作平行移动,即可获得具有线宽的线条。
- 失真:对图形进行光栅化时,是用离散的像素显示在连续空间中定义的对象,在图形边界往往会出现锯齿现象,即失真。
- 走样:用离散量来表示连续量所引起的失真现象叫做走样。
- 反走样:为了提高图形显示质量,减少或消除走样现象的技术或方法称为反走样。
- 走样现象:阶梯型走样,狭小图形丢失,丢失细节,运动图闪烁。
- 反走样技术:提高分辨率(硬件:采用高分辨率的显示器。软件:高分辨率计算,低分辨率显示),简单区域抽样,加权区域抽样。
- 区域的表示:顶点表示(用多边形的顶点序列来表示区域,也称几何表示)和点阵表示(用位于多边形内的像素集合来刻画多边形,也称像素表示)。
- 点阵表示通常有两种情况:内点表示 和 边界表示。
- 区域按连通情况分为:四连通区域 和 八连通区域。
- “扫描线交点的奇偶数判断”法:用一根水平扫描线自左而右通过多边形而与多边形的边界相交,扫描线与边界相交奇次数后进入该多边形,相交偶次数后离开该多边形。
- 边填充算法:边缘填充算法,栅栏填充算法。
- 种子填充算法:边界表示的四连通区域种子填充算法 ,内点表示的四连通区域种子填充算法,扫描线种子填充算法。
- 字库:点阵字库和矢量字库。相应储存着点阵字符和矢量字符。
第八章 消隐
- 消隐:在视点确定之后,将对象表面不可见的点线面消去。
- 按消隐的对象分类:线消隐,面消隐。
- 线消隐:消隐对象是物体上不可见的线,一般用于线框图。当用笔式绘图仪或其它画线设备绘制图形时,主要使用这种算法。、
- 面消隐: 消隐对象是物体上不可见的面,一般用于填色图。当用光栅扫描显示器绘制图形时,主要使用这种算法。
- 消隐基本技术:利用连贯性,将透视投影转换成平行投影,包围盒技术,背面剔除,空间分割技术,物体分层表示。
- 连贯性:连贯性是指从一个事物到另一个事物,其属性值(如颜色值、空间位置)通常是平缓过渡的性质。例如:物体连贯性、面的连贯性、区域连贯性、扫描线的连贯性、深度连贯性。
- 一个形体的包围盒指的是包围它的简单形体。包围盒不相交,线段和多边形也不相交,线段完全可见,无需就线段和多边形的遮挡关系进行进一步判断。可推广到面与面的遮挡快速判断。
- 背面剔除:剔除依据: 物体表面是封闭的,背面总是被前向面所遮挡,从而始终是不可见的。外法向:外法向与投影方向(观察方向)的夹角判断:前向面与后向面(背面)。
- 空间分割技术:方法:将投影平面上的窗口分成若干小区域;为每个小区域建立相关物体表,表中物体的投影于该区域有相交部分;则在小区域中判断哪个物体可见时,只要对本区域的相关物体表中的物体进行比较即可。
- 物体分层表示:方法: 将父节点所代表的物体看成子节点物体的包围盒,当两个父节点之间不存在遮挡关系时,就勿对两者的子节点做进一步测试。父节点之间的遮挡关系可以用它们之间的包围盒进行预测试。
- 面消隐算法:深度缓存(Z-buffer)算法,深度排序算法(画家算法),扫描线算法,区域细分算法(Warnock算法)。
- 帧缓冲器 – 保存各像素颜色值(CB、FB),z缓冲器 --保存各像素处物体深度值(ZB)
,z缓冲器中的单元与帧缓冲器中的单元一一对应。 - 深度缓存(Z-buffer)算法思路:将z缓冲器中各单元的初始值置为最小值。当要改变某个像素的颜色值时,首先检查当前多边形的深度值是否大于该像素原来的深度值(保存在该像素所对应的Z缓冲器的单元中),如果大于,说明当前多边形更靠近观察点,用它的颜色替换像素原来的颜色;否则说明在当前像素处,当前多边形被前面所绘制的多边形遮挡了,是不可见的,像素的颜色值不改变。
- 深度排序算法(画家算法):1)先将场景中的物体按其距观察点的远近进行排序,结果放在一张线性表中;(线性表构造:距观察点远的称优先级低,放在表头;距观察点近的称优先级高,放在表尾。)2)然后按照从表头到表尾的顺序逐个绘制物体。
- 扫描线算法:基本思想:按扫描行的顺序处理一帧画面,在由视点和扫描线所决定的扫描平面上解决消隐问题。具体步骤:先把物体各面投影到屏幕上,再计算扫描线与物体各投影面的相交区间。当两个区间在深度方向上重叠时,采用深度测试确定可见部分。
- 区域细分算法(Warnock算法):基本思想:把物体投影到全屏幕窗口上,递归地分割窗口,直到窗口内目标足够简单,可以直接显示为止。
- 其它算法:区域排序算法,光线跟踪算法。
- 区域排序算法:在图象空间中,将待显示的所有多边形按深度值从小到大排序,用前面可见多边形去切割后面的多边形,最终使得每个多边形要么是完全可见,要么是完全不可见。
- 光线跟踪算法:基本思想:从光源出发跟踪光线,只有极少量的光能到达观察者的眼睛。从视点或像素出发,仅对穿过的像素的光线反向跟踪,当光线路径到达一个可见的不透明物体的表面时停止追踪。
第九章 真实感图形
- 表示形体的模型分类:数据模型和过程模型。
- 数据模型:完全以数据描述。包括:线框模型,表面模型,实体模型。
- 过程模型:以一个过程和相应的控制参数描述并以一个数据文件和一段代码的形式存在。包括:分型造型,粒子系统。
- 规则对象的造型方法:特征表示,空间分割表示,推移表示,边界表示,构造实体几何表示。
- 特征表示:用一组特征参数表示一组类似的物体。比如:工业上标准件的表示。
- 空间分割表示:又分为空间位置枚举表示(用三维数组C[I][J][K]表示物体,数组中的元素与单位小立方体一一对应),八叉树表示,单元分解表示(单一体素 变为多种体素,将多种体素粘合在一起表示物体)
- 推移(sweep)表示:包括平移,旋转,广义。
- 边界表示:物体的边界与物体一一对应,确定了物体的边界也就确定了物体本身。
- 构造实体几何表示:将物体表示成一棵二叉树,称为CSG树。
- 光的强度 由R,G,B三种色光的强弱决定,总的光强为: I = 0.3 I R + 0.59 I G + 0.11 I B I=0.3I_R+0.59I_G+0.11I_B I=0.3IR+0.59IG+0.11IB
- 光的方向:点光源,分布式光源,漫射光源。
- Lambert定律:一个完全漫反射体上反射出来的光的强度与入射光和物体表面法线之间夹角的余弦成正比,即 I d = I l K d c o s θ , 0 ≤ θ ≤ π / 2 I_d=I_lK_dcosθ , 0≤θ≤π/2 Id=IlKdcosθ,0≤θ≤π/2
- 明暗的光滑处理:在计算机图形学中,曲面体(例如球)通常是用多面体逼近表达的。这时,分别计算各个面的亮度,就会在多边形与多边形的交界处产生明暗的非连续变化,影响曲面的显示效果。 解决方法:采用插补的方法,使得表面明暗光滑化。最常使用的表面明暗光滑化的方法有两种,称为Gouraud方法和Phong方法。
- Gouraud光滑方法:基本思想:在每个多边形顶点处计算颜色,然后在各个多边形内部进行线性插值,得到多边形内部各点颜色。即它是一种颜色插值着色方法。
- 基本步骤:
⑴ 先计算出多面体顶点的法线方向
⑵ 用光照模型求得V点的亮度。
⑶ 由两顶点的亮度,插值得出棱上各点的亮度。由棱上各点的亮度,插值得出面上各点的亮度。 - Phong光滑方法:基本思想:通过对多边形顶点的法矢量进行插值,获得其内部各点的法矢量,又称为法向插值着色方法。
- 步骤:
(1) 计算多边形单位法矢量
(2) 计算多边形顶点单位法矢量
(3) 对多边形顶点法矢量进行双线性插值,获得内部各点的法矢量
(4) 利用光照明方程计算多边形内部各点颜色 - 景物中没有被光源直接照射到的区域产生阴影。可反映画面中景物的相对位置,增加图形的立体感和场景的层次感。当观察方向与光源方向重合时,看不到阴影。
- 本影:指景物表面上那些没有被光源直接照射到的部分。
- 半影:指被某些光源直接照射到,而不被另一些光源照射到的部分。
- 本影+半影=软影。单个点光源只能产生本影,只有多个点光源或者线(面)光源才能形成半影。
- 阴影分类:自身阴影:由于物体自身遮挡而使光线照射不到它上面的某些面;投射阴影:由于物体遮挡光线,使场景中位于它后面的物体或区域受不到光照射而形成的。
- 阴影算法:阴影体法(Shadow Volume)和阴影图法。
- 投影体法:对光线进行跟踪的过程中,如果这条射线穿过了阴影体的一个正面(朝向视点的一个面),则计数器加1。如果穿过阴影体的一个背面(背向视点的一个面),则计数器减1。如果最终计数器的数值大于0,则说明这个象素处于阴影中,否则处于阴影之外。
- 投影图法:主要思想:使用Z缓冲器算法,从投射阴影的光源位置对整个场景进行绘制。对于Z缓冲器的每一个象素,它的z深度值包括这个象素到距离光源最近点的物体的距离。一般将Z缓冲器中的整个内容称为阴景图,有时候也称为阴影深度图。
- 整体光照模型——光线追踪:思想:沿着到达视点的光线的反方向跟踪,经过屏幕上的每一像素,找出与视线相交物体表面点,并继续跟踪,找出影响该点光强的所有光源,从而算出该点上精确的光照强度。
- 纹理分类:颜色纹理和几何纹理。
- 颜色纹理:颜色或明暗度变化体现出来的表面细节。
- 几何纹理:由不规则的细小凹凸体现出来的表面细节。