西南交通大学计算机图形学期末复习

Posted Not Today!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了西南交通大学计算机图形学期末复习相关的知识,希望对你有一定的参考价值。


考试要点:

第1章 绪论——填空选择题

什么是计算机图形学?

计算机图形学是研究通过计算机将数据转化为图形,并在专门显示设备上显示的原理、方法和技术的学科。

简单来说,计算机图形学是研究怎样用计算机生成、处理和显示图形的一门学科。

什么是图形?

计算机图形学的研究对象是图形,主要研究对象是数学方法描述的图形。

广义上的图形,是指能够在人的视觉系统中形成视觉印象的客观对象。它包括人眼所见的景
物,来自各种输入媒体的图片、图案、图像,人工绘画,还包括用数学方法描述的图形以及
其他各种图形。

计算机图形学所研究的图形早就超出了用数学方法描述的图形,它不仅具有形状等几何信息,还具有颜色、材质等非几何信息,所以它更具体,更直观,更接近于所表示的客观对象。

几何要素:刻画轮廓、形状点、线、面、体

非几何要素:反映物体表面属性和材质明暗、灰度、色彩、纹理、透明性、线型、线宽等。

图形的表示有哪两大类,包含的信息有哪些?

(1)参数法:用图形的形状参数属性参数来表示图形。形状参数是指描述图形的方程或分
析表达式的参数、线段或多边形的端点坐标等几何属性。而属性参数包括灰度、颜色和线型
非几何属性。——简称图形(Graphics)
(2)点阵法:通过枚举出图形所有的点的灰度或颜色信息来表示图形。点阵法强调的是图形
由哪些点组成,这些点具有什么灰度或颜色。——图像(Image)

图形学的相关学科有哪些,各自的研究内容?

数字图像处理(Digital Image Processing)
        研究图像采样、量化、图像变换、图像去噪、图像压缩、图像增强、边缘处理等。
计算几何(Computer Aided Geometrical Design,CAGD)
        研究几何模型和及其数学模型、存储和管理等。
计算机视觉(Computer Vision)与模式识别(Pattern Recognition)
        模式识别进行的是计算机图形学的逆向工作,研究如何对输入的图像进行分析和识别,找出所输入的图像的内在联系或者抽象模型

几个学科相互联系又相互区别

        计算机图形学着重讨论怎样将数据和几何模型变成图形图像处理着重研究图像的压缩存储和去除噪音问题,而模式识别则重点讨论如何从图像中提取数据和模型计算几何则着重研究几何形体的计算机表示,分析和识别

计算机图形学的研究内容、发展阶段和应用领域要做了解

发展动态

1.造型技术
        几何造型技术、基于物理的造型技术、
2.真实感图形绘制技术
        局部光照明模型、光线跟踪方法、辐射度方法
        基于图像的绘制方法(Image-based Redering)
3.人机交互技术
        GUI-WMIP,三维交互、多通道技术
4.计算机动画
5.地理信息系统GIS(Geographic Information System)

研究内容

光栅扫描图形生成(点、线、面的离散表示)
图形变换(几何变换、平行投影、透视投影)
真实感图形生成
        (隐藏线/面去除法、Z缓冲器算法、简单光照模型、光线追踪、辐射度、阴影、透明、纹理)
几何建模(线框模型、面模型、体模型)
曲线与曲面生成算法
        (Furguson参数曲线/面Bézier 均匀B样条非均匀B样条)
图形学应用算法
        (与具体应用领域的算法相结合)

发展阶段

酝酿期(50年代)
        1950年麻省理工学院(MIT),旋风(Whirlwind I) I号,采用CRT图形显示器;
        1958年Calcomp公司将数字记录仪发展成滚筒式绘图仪,GerBer公司基于数控机床研制出平板式绘图仪
萌芽期(60年代)
        1963年MIT的Ivan E. Sutherland在他的博士论文“Sketchpad:一个人-机通信的图形系统”中首次提出“Computer Graphics (计算机图形学)”,使用阴极射线管显示器和光笔,可交互式地生成简单图形;
        Coons1962年提出Coons曲面方法。CAD

发展期(70年代)
        如MIT、Bell Lab、通用汽车公司、剑桥大学等
        飞机、汽车( CAD和工程分析)
普及期(80年代)
        带有光栅图形显示器的个人计算机和工作站
        教育、科研、艺术、管理、游戏、以致家庭
提高赠强蓬勃发展期(90年代及以后)
        科学计算可视化、虚拟现实技术等的发展对计算机图形学在真实性、实时性、交互性方面提出更高的要求
        图形硬件、图形软件、图形算法、图形标准、图形数据结构等逐渐成熟并投入使用,使计算机图形学成为一门成熟的学科。
        总体特征:技术发展、需求驱动

应用领域

计算机辅助设计

        计算机图形学中最重要的一个应用领域就是计算机辅助设计(CAD:Computer Aided Design)计算机辅助制造(CAM)。

        主要包括机械、电子、建筑、航空航天等方面。用户利用交互式图形技术设计机械、电子设备和工程建筑等。

图形用户接口

        人机界面(HCI:Human Computer Interface)
        图形用户界面(GUI:Graphical User
Interface)

数据可视化

        信息可视化
        科学计算可视化、工程计算可视化

计算机艺术

        书法
        计算机绘画

        分形艺术
        平面合成艺术
        计算机数字图像合成

计算机动画、广告及娱乐

教学与培训、控制

图示图形

地理信息系统

虚拟现实环境

相关开发技术

OpenGL技术
DirectX技术
Web3D技术

        X3D技术
        VRML技术
        WebGL技术
        Java3D技术
ACIS技术


第2章 交互式计算机图形学处理系统——主要考概念和计算

该系统组成——结构和功能等

功能:计算、存储、对话、输入和输出五方面的功能

组成: 图形软件图形硬件两部分组成

图形硬件:包括图形计算机系统和图形设备两类

图形设备的分类(输入、显示、绘制)

图形输入设备

        键盘(Keyboard)      

        鼠标器(mouse)

        光笔(light pen)

        触摸屏(touch screen)

        触摸板(touch panel)

        操纵杆(joystick)

        手柄

        跟踪球(trackball)和空间球(spacegall)

        数据手套(data glove)

        数字化仪(digitizer)

        图象扫描仪(scaner)

        声频输入系统

        视频输入系统

图形显示设备

        阴极射线管(CRT)显示器
        彩色CRT显示器
        随机扫描显示器
        光栅扫描显示器
        平板显示器
        三维显示系统

图形绘制设备

        打印机

        绘图仪

逻辑的输入输出和对输入的处理的三种方式(采样、事件等)——参考CG05教案

六种逻辑输入设备:即定位设备、笔划设备、字符串设备、定值设备、选择设备、拾取设备

        定位设备(Locator Device)

                输入一个位置坐标(x,y)
                鼠标、操纵杆、轨迹球、拇指轮、转盘、数字化仪的触笔以及其他光标定位设备
                数字键输入坐标值、光笔

        笔划设备(Stroke Device)
                输入一系列坐标位置
                鼠标、跟踪球、操纵杆、数字化仪
        字符串设备(String Device)
                输入一串字符
                键盘,手写输入板及语音输入
        定值设备(Valuator Device)
                向图形系统输入数值
                数字键、数字化仪、鼠标、操纵杆
                出标尺、刻度盘、滑杆、按钮、菜单等辅助工具

        选择设备(Choice Device)
                从一个选择集中挑选出一个元素
                功能键、定位设备
                键盘和语音输入
        拾取设备(Pick Device)
                拾取屏幕上的一些图形对象
                光笔
                定位设备+拾取键

输入模式

        图形程序和设备如何进行交互,即如何管理、控制多种图形输入设备进行工作
        请求输入模式、取样输入模式和事件输入模式

请求(Request)方式
        程序发出从某设备输入数据的请求,接着便等待用户输入数据,得到“允许从该设备输入”的
回答后再将数据读入。
采样(Sample)方式
        应用程序和输入设备同时工作,当输入设备工作时,存储输入数据,不断更新当前数据,当
程序要求输入时,程序则对当前数据值采样。

事件(Event)方式
        应用程序和设备将同时、各自独立地工作。从设备输入的数据或事件都存放在事件队列里,
应用程序随时可以检查这个事件队列,处理队列中的事件,或删除队列中的事件。事件输入方式避免了请求方式和采样方式中存在输入数据丢失的问题。

重点:CRT显示器的构成,分辨率、点距、刷新、刷新频率、帧缓冲存储器、颜色的概念,帧缓冲存储器存储信息的两种存储方式,帧缓冲存储器的容量的计算

阴极射线管(CRT) Cathode Ray Tube
        组成:包括电子枪、聚焦系统、加速电极、偏转系统、荧光屏
结构:


工作原理:电子枪发射电子束,经过聚焦系统、加速电极、偏转系统,轰击到荧光屏的不同部位,被其内表面的荧光物质吸收,发光产生可见的光点。

分辨率:CRT在水平或竖直方向单位长度上能识别的最大光点个数(物理分辨率),单位通常为dpi(dots per inch)。在假定屏幕尺寸一定的情况下,也可用整个屏幕所能容纳的光点个数描述(逻辑分辨率),如640*480,800*600,1024*768,1280*1024等等。

点距:两个相邻光点中心的距离
显示速度:每秒钟可显示矢量线段的条数,与偏转系统速度、矢量发生器的速度、计算机发送显示命令的速度有关。

刷新(Refresh):为了让荧光物质保持一个稳定的亮度值,需要控制电子束反复地重复显示图形。
刷新频率:每秒钟重绘屏幕的次数,一般50-100HZ

颜色:一般光栅扫描系统可以提供多种颜色,通常用整数值表示不同颜色。

产生彩色的常用方法:

        射线穿透法
        影孔板法(荫罩法常用于光栅扫描系统)
        像素位置上分布着呈三角形排列的三个荧光彩色点,三个荧光点分别发射红光、绿光和蓝光。
                红、绿、蓝三基色(RGB颜色模型)
                三色荧光点(很小并充分靠近--〉像素)
                三支电子枪
帧缓冲存储器(Frame Buffer)

        作用:存储屏幕上像素的颜色值
        也称刷新存储器(Refreshing Buffer)
        简称帧缓冲器,俗称显存
        帧缓存中单元数目与显示器上像素的数目相同
        单元与像素一一对应
        各单元的数值决定了其对应像素的颜色。
        显示颜色的种类与帧缓存中每个单元的位数有关。
        计算机中的帧缓存(显存)可用存放:
                各像素颜色值(直接颜色值或颜色索引值)- 颜色缓存
                各像素深度值(三维图形时考虑景深)- 深度缓存
                累积缓存,用于生成运动模糊等效果
                模板缓存
                纹理存储
                双缓存技术、三缓存技术
                一个缓存用来刷新的同时,另一个写入数据信息,而后这两个缓存可互换角色。这种方式称为双缓存。

屏幕上一个象素点就对应帧缓存中的一组信息:

        组合像素法(Packed Pixel Method):一个图形象素点的全部信息被编码成一个数据字节,按照一定方式存储到帧缓存中,编码字节的长度与点的属性(如颜色、灰度等)有关。
        颜色位面法(Color Plane Method)

 

 帧缓存中存像素颜色信息的两种方式总结:
        像素颜色值
                组合像素法
                颜色位面法
        像素颜色在查色表中的索引值

光栅扫描显示系统和随机扫描系统的原理和优缺点

随机扫描显示器(也称矢量显示器)
        笔划显示器、笔迹显示器

        数据表示:矢量表示,只有端点信息,无线段中间点
        扫描方式:电子束像一支快速移动的画笔,可随意移动(定位和偏转),只扫描荧屏上要显示的部分,类似示波器工作原理
        显示图形:几何属性(geometric attribute)为主,线架图
        刷新显示文件称为显示列表、刷新显示文件、向量文件或显示程序。
        系统周期性按显示文件中的命令依次画出组成线条。
        优点:扫描速度快,分辨率高,线条质量好,易修改,交互性好,动态性能好
        缺点:价格贵,只能显示线画图形,不能显示逼真场景

 光栅扫描显示器
        扫描方式:电子束依照固定的扫描线和规定的扫描顺序进行扫描。电子束先从荧光屏左上角开始,向右扫一条水平线,然后迅速地回扫到左边偏下一点的位置(水平回扫),再扫第二条水平线,照此固定的路径及顺序扫下去,直到最后一条水平线,即完成了整个屏幕的扫描。然后垂直回扫开始下一帧。

期中相关题目

课后习题

 以上题目的答案上面都可以找到,不赘述。


第3章 基本图形生成算法——重点

图形扫描转换的概念

图形的扫描转换(光栅化Rasterization)
        光栅扫描显示器的图形显示屏幕可以看作是一个像素矩阵, 每个像素有其位置和颜色
        确定一个最佳逼近于所显示图形的像素集合,并用指定属性(如颜色)写像素的过程称为图形的扫描转换或生成,也称光栅化

直线段扫描转换的要求

直线的扫描转换的要求
·(1)所绘直线要直,最接近数学上的直线;
·(2)沿着线段分布的像素应均匀且连续,不出现断裂;
·(3)直线生成的速度要快。

每一种扫描转换算法都要掌握原理、算法步骤、优缺点、特点

数值微分法(DDA,Digital Differential Analyzer)

——基于直线的微分方程生成直线的方法

 注:(int)(y+0.5)的含义是对y进行向上取整。

中点画线算法(Midpoint Line Drawing Algorithm)

——通过在每列像素中确定与理想直线最佳逼近的像素来进行扫描转换

 注:去2di代替di的原因是0.5b要进行浮点数运算,故通过取2di代替di,来消除小数运算。

Bresenham画线算法

——通过在每列像素中选择与理想直线最佳逼近的像素来完成扫描转换

 

 纠错:倒数第2行的2△x·xi应改为2△x·yi

推导提示:xi+1-xi = 1

 

 

圆的八分对称性

——圆心位于坐标原点的圆有四条对称轴:x=0,y=0,x=y和x=-y

中点画圆算法

——在一个方向上单位步长步进,在另一个方向根据两个候选像素的中点与理想圆的关系来确定选择哪个像素

 

 

注意:用 (di-0.25) 代替 di 后,d0 = 1..25 - R - 0.25 = 1 - R

 

 中点画圆算法原理可参考如下简述:
考虑中心在原点(0,0),半径为R(整数)的圆的第二个八分圆,采用最大位移方向为步进方向,即x 方向每确定一个像素,y 方向上减1 或减0。假设当前已确定与圆弧最近的像素坐标为Pi(xi, yi),下一个与直线最近的像素只能是正右方像素PRM(xi+1, yi)或右下方像素PRB(xi+1, yi-1)。令M 表示PRM 与PRB 的中点,坐标为M(xi+1,yi-0.5),再假设Q 为理想圆弧与垂直线x=xi+1 的交点。则对于圆函数F(x,y)=x2+y2-R2,M 对应函数值F(M)。
(1)当F(M)<0 时,M 在圆弧内,说明正右方像素PRM 离圆弧更近,应取为下一个像素;
(2)当F(M)=0 时,M 在圆弧上(即与Q 重合),说明PRM与PRU离圆弧相同距离,二者都可取为下一个像素,
这里约定取右下方像素PRB;
(3)当F(M)>0 时,M 在圆弧外,说明右下方像素PRB 离直线最近,应取为下一个像素;
对于圆心(xc,yc),半径为r 的圆,先计算圆心在原点,半径为r 的圆周上的点,利用八分
之一对称性及平移法可得对应八个点。
初始点(x0,y0)=(0,r)
初始决策参数F0 =1-r
对于已确定的(xi,yi),若Fi <0,则(xi+1,yi+1)取为右方像素(xi+1,yi),且Fi+1 增量2xi+1+1 = 2xi+3;否则, Fi >=0 (xi+1,yi+1)取为右下方像素(xi+1,yi-1),且Fi+1 增量2xi+1-2yi+1+1 = 2(xi-yi)+5,其中2xi+1 =2xi+2,2yi+1 =2yi-2
对于计算出的像素位置(x,y),根据对称性并且平移到圆心为(xc,yc)的圆的轨迹上,可得对应
的八个点:(xc+x,yc+y)(xc-x,yc+y)(xc+x,yc-y)(xc-x,yc-y)(xc+y,yc+x)(xc-y,yc+x)(xc+y,yc-x)(xc-y,yc-x)。

 

Bresenham画圆算法

——考虑圆心在原点,半径为R的第一个4分圆

 

  

属性控制——线型和线宽

线型处理
——线型包括实线、虚线和点线等。一般是通过设置沿线路径实线段的长度和间距来达到实现各种线型的目的。
        虚线,可通过在实线段之间插入一定长度的空白段来实现。
        点线,可通过生成很短的划线和等于或大于划线大小的空白段来显示
        在扫描转换算法中可通过像素段方法来实现,即对于各种划线、点线、点划线样式,画线程序沿线路径输出一些连续像素段,在每两个实线段之间有一个定长的空白中间段,实线段和中间空白段的长度可用像素模板(pixel mask)指定。像素模板是由数字0和1组成的串

线宽处理
——设备能产生的最小直线宽度(通常认为是1个光点宽度、绘图笔的画线宽度,或是1个像素的宽
度)作为基本宽度

(1)线刷子处理线宽
        直线斜率在[-1,1]之间时,把刷子置成与x轴垂直的方向
        当直线斜率不在[-1,1]之间时,把刷子置成与x轴平行的方向
 

         线刷子的优缺点
                1)实现简单、效率高。
                2)斜线与水平(或垂直)线不一样粗。
                3)当线宽为偶数个象素时,线的中心将偏移半个象素。
                4)利用线刷子生成线的始末端总是水平或垂直的,不自然
        添加“线帽(line cap)”的方式来调整线端的形状
                线帽常有方帽、凸方帽和圆帽

        利用线刷子生成折线的考虑
                斜角连接(miter join)通过延伸两条线的外边界直到它们相交;
                圆连接(round join)通过用直径等于线宽的圆弧边界将两线段连接而成;
                斜切连接(bevel join)则通过用方帽和在两线段相交处的三角形间隙中填充来生成。

 (2)方刷子处理线宽

        方刷子是正方形像素矩阵,也称像素模板。它通过把边长为指定线宽的正方形的中心沿直线作平行移动
        方刷子的特点
                1)方刷子绘制的线条(斜线)比用线刷子所绘制的线条要粗一些
                2)方刷子绘制的斜线与水平(或垂直)线不一样粗
                3)方刷子绘制的线条自然地带有一个“方线帽”

(3)利用区域填充法处理线宽
        区域填充先算出线条各角点,再用直线把相邻角点连接起来,最后调用多边形填充算法把得到的四边形进行填充,即得到具有宽度的线条

区域填充:区域的描述方法(顶点表示和点阵表示)

顶点表示
        是用多边形的顶点序列来表示区域
        直观、几何意义强、占内存少,易于几何转换
        没有明确指出哪些像素在多边形内

点阵表示
        用位于多边形内的像素集合来表示
        丢失了几何信息,便于填充显示
        内点表示和边界表示

        内点表示
                区域内所有像素具有同一颜色,区域边界上的像素具有不同于区域内像素的颜色
        边界表示
                区域边界上所有像素具有同一颜色(可以是填充色),在区域以内的所有像素具有不同于边界像素的颜色

 区域连通性
        分为四连通区域和八连通区域
        四连通区域
        是指从区域内某一点出发,可通过上、下、左、右4个方向移动,在不越出区域的前提下到达区域内的任意像素。


        八连通区域
        是指从区域内某一点出发,可通过上、下、左、右、左上、右上、左下、右下8个方向移动,在不越出区域的前提下到达区域内的任意像素

扫描线多边形填充算法;多边形填充的一般过程和重点要解决的问题

有效边表扫描线填充算法
        有效边表
                与当前扫描线相交的边称为有效边(Active Edge,AE),也称为活性边,并把它们按与扫描线交点的x坐标递增的顺序放在一个链表中,称此链表为有效边表(Active Edge Table,AET)或活性边表
        边表(Edge Tabe,ET)

                存放多边形中除水平边以外的所有边的信息
                ymax:边的上端点的y坐标;
                x:在ET中表示边的下端点的x坐标,在AET中表示边与扫描线的交点的x坐标;
                1/k:边的斜率的倒数;
                next:指向下一条边的指针

 

种子填充算法的原理方法

边界表示的四连通区域种子填充算法
        基本思想:从多边形内部任一点像素出发,按照“左上右下”的顺序判断相邻像素,若不是边
界像素且没有被填充过,则对其填充,并重复上述过程,直到所有像素填充完毕。
        (1)栈顶像素出栈;
        (2)将出栈像素置成多边形填充的颜色;
        (3)按“左上右下”的顺序检查与出栈像素相邻的四个像素,若其中某个像素不在边界上且未置成多边形色,则把该像素入栈。

 内点表示的四连通区域种子填充算法        

        基本思想:从多边形内部任一点像素出发,按照“左上右下”的顺序判断相邻像素,如果是区域内的像素,则对其填充,并重复上述过程,直到所有像素填充完毕,常称为漫水法
        (1)栈顶像素出栈;
        (2)将出栈像素置成多边形填充的颜色;
        (3)按“左上右下”的顺序检查与出栈像素相邻的四个像素,若其中某个像素不在边界上且未置成多边形色,则把该像素入栈。

反走样的概念

光栅图形的走样现象

        阶梯形走样

        狭小图形遗失

        细节失真

        运动图形闪烁

区域采样的反走样

        屏幕直线段看成有宽度的线:
                将每个像素亮度设置成与线条部分重叠的区域面积成正比,可以完成对直线的区域取样。
                根据直线的斜率k和直线的精确起点位置算出重叠区域的面积:

        求相交区域的近似面积的离散计算方法:
        (1)将屏幕象素分割成n个更小的子象素。
        (2)计算中心落在直线段内的子象素的个数m
        (3)m/n为线段与象素相交区域面积的近似值

        简单的区域取样具有两个特点:
        一是直线段对一个象素亮度的贡献与两者重叠区域的面积成正比,从而和直线与象素中心点
的距离成正比。
        二是相同面积的重叠区域对象素贡献相同,而与这个重叠区域落在象素内的位置无关,这会
导致走样现象。


加权区域采样的反走样

        加权模板的过取样方法
                连续的加权曲面(或滤波函数)覆盖象素
                如切割所得到的三维物体的体积


第4章 自由曲线和曲面——掌握曲线曲面的概念

Bezier曲线、B样条相关部分要知道这些样条是什么样条,有哪些样条就行,性质、推导不用管

曲线曲面的表示要求

        唯一性
        几何不变性
        易于定界
        统一性
        易于实现光滑连接
        几何直观

曲线曲面的表示

        参数法表示:p = p(t) t ∈[0,1]
        参数法表示的优点:
        点动成线
        通常总是能够选取那些具有几何不变性的参数曲线曲面表示形式。
        用对参数求导来代替斜率,避免无穷大斜率

        t∈[0,1] ,使其相应的几何分量是有界的。
        可对参数方程直接进行仿射和投影变换。
        参数变化对各因变量的影响可以明显地表示出来。

插值与逼近

        采用模线样板法表示和传递自由曲线曲面的形状称为样条。
        样条曲线是指由多项式曲线段连接而成的曲线,在每段的边界处满足特定的连续条件。
        样条曲面则可以用两组正交样条曲线来描述。

        曲线曲面的拟合:当用一组型值点来指定曲线曲面的形状时,形状完全通过给定的型值点列。

        曲线曲面的逼近:当用一组控制点来指定曲线曲面的形状时,求出的形状不必通过控制点列。

         求给定型值点之间曲线上的点称为曲线的插值

        将连接有一定次序控制点的直线序列称为控制多边形特征多边形

连续性条件

        假定参数曲线段pi以参数形式进行描述:


        参数连续性
                0阶参数连续性,记作C0连续性,是指曲线的几何位置连接,即

12月学习进度3/31—计算机图形学期末准备01拉格朗日插值 + 三次Hermite插值

12月学习进度7/31——计算机图形学期末准备04B样条曲线及其基函数的定义

12月学习进度8/31——计算机图形学期末准备05B样条曲线和基函数的性质

12月学习进度5/31——计算机图形学期末准备02规范化两点三次Hermite插值及MATLAB实现

12月学习进度9/31——计算机图形学期末准备06四阶三次B样条曲线矩阵形式推导及MATLAB实现

此战成硕,我成功上岸西南交通大学了~~~