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


考试要点:

第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连续性,是指曲线的几何位置连接,即

        1阶参数连续性

                记作C1连续性,指代表两个相邻曲线段的方程在相交点处有相同的一阶导数:

        2阶参数连续性

                记作C2连续性,指两个相邻曲线段的方程在相交点处具有相同的一阶和二阶导数。

         几何连续性

        0阶几何连续性

                记作G0连续性,与0阶参数连续性的定义相同,满足:

        1阶几何连续性

                记作G1连续性,指一阶导数在相邻段的交点处成比例

        2阶几何连续性

                记作G2连续性,指相邻曲线段在交点处其一阶和二阶导数均成比例。

样条描述

T:幂次矩阵,C:系数矩阵,G:几何约束矩阵,M:基矩阵

三次样条

        给定n+1个点,可得到通过每个点的分段三次多项式曲线:

自然三次样条

        定义:给定n+1个型值点,现通过这些点列构造一条自然三次参数样条曲线,要求在所有曲线段的公共连接处均具有位置、一阶和二阶导数的连续性,即自然三次样条具有C2连续性。
        还需要两个附加条件才能解出方程组。

        特点
                只适用于型值点分布比较均匀的场合
        ·       不能“局部控制”

Bezier曲线

        定义:


        Bernstein基函数具有如下形式:


        注意:

 

 B样条曲线曲面

 

 

 


第5章 图形变换与裁剪——重点

一定注意列向量形式的表达和行向量形式的表达,会影响整道题

参考自己的作业3、作业4进行复习即可。


第6章 实体几何造型基础

可参考自己的作业五复习。

线框模型、表面模型和实体模型

线框模型(Wireframe Model)

        对于平面多面体,线框模型采用顶点表和边表两个表的数据结构来表示三维物体,顶点表记录各顶点的坐标值,边表记录每条边所连接的两个顶点。

 线框模型的优点
        可以产生任意视图,视图间能保持正确的投影关系
        能生成任意视点或视向的透视图及轴测图
        操作简便,在CPU时间及存储方面开销低
线框模型的缺点
        二义性,容易构造出无效形体
        不能消除隐藏线,不能作任意剖切,不能计算物性,不能进行两个面的求交,无法生成数控加工刀具轨迹,不能自动划分有限元网格,不能检查物体间碰撞、干涉等

表面模型(Surface Model)

 表面模型的优点
        能实现以下功能:消隐、着色、表面积计算、二曲面求交、数控刀具轨迹生成、有限元网格划分等。
        擅长于构造复杂的曲面物体,如模具、汽车、飞机等表面。
表面模型的缺点
        有时会产生对物体二义性理解。

实体模型

        确定了表面的哪一侧存在实体
        有向边的右手法则确定所在面的外法线的方向

 实体模型的优点
        消隐、剖切、有限元网格划分、直到NC刀具轨迹生成都能顺利地实现,
        着色、光照及纹理处理等

正则的结合运算、欧拉公式

点集的正则运算

        r•A=c•i•A
        i为取内点运算,c取闭包运算,A为一个点集,那么,i•A即为A的全体内点组成的集合,称为A的内部,它是一个开集。c•i•AA的内部闭包,是i•A与其边界点的、并集,它本身是一个闭集。
正则运算即为:先对物体取内点,再取闭包的运算

 

欧拉公式

        v-e+f=2
        v,e,f分别是多面体的顶点数、边数和面数
        简单多面体的必要条件
        不是充分条件

 广义欧拉公式

        v-e+f-r=2(s-h)
        r为多面体表面上孔的个数;h为贯穿多面体的孔洞的个数;s为相互分离的多面体数
        多面体否为实体的必要条件

 

实体的几种表示法——原理、方法和优缺点、

实体的分解表示

        也称为空间分割表示,是将形体按某种规则分解为小的、更易于描述的部分,每一小部分又
可分为更小的部分,这种分解过程直至每一小部分都能够直接描述为止。
        常用的常用的空间分割表示方法有三种:空间位置枚举表示、八叉树表示、单元分解表示

空间位置枚举表示

        选择一个包含物体的立方体作为考虑的空间;将立方体划分为均匀的小立方体,小立方体的
边长为Δ;建立三维数组C[I][J][K],使得数组中的每一元素C[i][j][k]与左下角点坐标为(i·Δ,j·Δ,k·Δ)的小立方体对应
        形体占有的空间,存储单元中记为1;其余空间记为0
        优点是简单,可以表示任何物体;容易实现物体间的交、并、差集合计算;容易计算物体的
整体性质,如体积等。缺点是物体的非精确表示;占用的存储量太大

        物体的边界面没有显式的解析表达式,不适于图形显示;对物体进行几何变换困难,不便于
运算等,实际上很少采用。

 八叉树表示
        对空间进行自适应划分
        分解成八个子立方体
        满(该立方体充满形体)或为空(没有形体在其中),则该子立方体可停止分解;否则,需要对该立方体作进一步分解,再一分为八个子立方体

         八叉树建立过程
        1)八叉树的根节点对应整个物体空间;
        2)如果它完全被物体占据,将该节点标记为F(Full),算法结束;
        3)如果它内部没有物体,将该节点标记为E(Empty),算法结束;
        4)如果它被物体部分占据,将该节点标记为P(Partial),并将它分割成8个子立方体,对每一个子立方体进行同样的处理。

         八叉树表示法优点
        (1)可以表示任何物体,数据结构简单。
        (2)简化了形体的集合运算。对形体执行交、并、差运算时,只需同时遍历参加集合运算的两形体相应的八叉树,无需进行复杂的求交运算。

        (3)简化了隐藏线(或面)的消除,因为在八叉树表示中,形体上各元素已按空间位置排成了一定的顺序。
        (4)容易计算物体的整体性质,如体积等。
        (5)较空间位置枚举表示占用的存贮空间少。
        (6)分析算法适合于并行处理。
        八叉树表示的缺点
        (1)虽然较空间位置枚举表示占用的存贮空间少,但仍然相对较多;
        (2)是物体的非精确表示,只能近似表示形体;
        (3)没有边界信息,不易获取形体的边界信息,不适于图形显示;
        (4)对物体进行几何变换困难等。

单元分解表示

        以不同类型的基本体素(而不是单一的立方体)通过“粘合”运算来构造新的实体


        单元分解表示的优点:
                表示简单,基本体素可以按需选择,表示范围较广,可以精确表示物体,容易实现几何变换。
        单元分解表示的缺点:
                同一实体可具有多种表示形式,表示不具有唯一性,不过都无二义性。物体的有效性难以保证,空间位置枚举表示法与八叉树表示法中的物体有效性是自动得到保证。

实体的构造表示
        是按照生成过程来定义形体的方法,构造表示通常有扫描表示、构造实体几何表示和特征表
三种。
扫描表示
        是基于一个基体(一般是一个封闭的平面轮廓)沿某一路径运动而产生形体
        两个分量:被运动的基体,基体运动的路径
        如果是变截面的扫描,还要给出截面的变化规律。

         平移sweep:
                一个二维区域沿着一个矢量方向(线性路径)推移

         旋转sweep
                将一个二维区域绕旋转轴旋转一特定角度(如一周)

         广义sweep
                将任意剖面沿着任意轨迹扫描指定的距离,扫描路径可以用曲线函数来描述,并且可以沿扫描路径变化剖面的形状和大小,或者当移动该形状通过某空间时变化剖面相对于扫描路径的方向

 扫描表示的优点
        表示简单、直观,适合做图形输入手段。
扫描表示的缺点
        对物体作几何变换困难,不能直接获取形体的边界信息,表示形体的覆盖域非常有限,另外也可能出现维数不一致的问题。

 构造实体几何表示

        通过对体素定义运算而得到新的形体的一种表示方法,体素可以是立方体、圆柱、圆锥等,也可以是半空间,其运算为变换或正则集合运算并、交、差。
        CSG表示可看成是一棵有序的二叉树-CSG树
                终端节点(叶子节点)或是体素、或是形体变换参数
                非终端结点(中间节点)或是正则的集合运算,或是变换(平移和/或旋转)操作
                根节点表示了最终的形体,这里的体素和中间形体都是合法边界的形体

         CSG树是无二义性的,但不是唯一的

 CSG表示的优点
        1)数据结构比较简单、直观,无二义性,数据量比较小,内部数据的管理比较容易;
        2)CSG表示可方便地转换成边界(Brep)表示;
        3)CSG方法表示的形体的形状,比较容易修改,可用作图形输入的一种手段;
        4)容易计算物体的整体性质(如重心、体积等);
        5)物体的有效性自动得到保证。

CSG表示的缺点
        1)对形体的表示受体素的种类和对体素操作的种类的限制,也就是说,CSG方法表示形体的覆盖域有较大的局限性。
        2)对形体的局部操作不易实现,例如,不能对基本体素的交线倒圆角;
        3)由于形体的边界几何元素(点、边、面)是隐含地表示在CSG中,故显示与绘制CSG表示的形体需要较长的时间,求交计算麻烦;
        4)表示物体的CSG树不唯一。

特征表示
        特征的形状常用若干个参数来定义
        用户输入形体非常方便
        缺点:用户不能根据特征参数直接获取特征的几何元素信息

实体的边界表示

        实体的边界通常是由面的并集来表示
        描述几何信息(Geometry)和拓扑信息(Topology)两个方面
        边界表示按照体-面-环-边-点的层次
边界表示的数据结构
        顶点坐标、顶点索引
        拓扑信息
        v→{v},v→{e},v→{f},e→{v},e→{e},e→{f},f→{v},f→{e},f→{f}
半边数据结构
        以边为核心
        将一条边表示成拓扑意义上相反的两条“半边”

各种表示方法的比较

精确性
        指一种表示方法是否具有精确性是指它能否精确地表示实体。
        特征表示能够精确表示一个实体。构造实体几何表示能否精确表示实体依赖于它采用的基本体素,如果基本体素足够丰富(如具有曲面边界),则它一般能精确描述较大范围内的实体。对于边界表示,如果以平面多面体表示实体,则它仅是一种近似表示,如果允许曲面边界,则它也可以精确表示实体。推移表示的情况类似。空间分割表示法只能近似地表示一个实体。

封闭性

        对一种表示方法来说,如果其表示域内的实体经过某种运算(如正则集合运算、几何变换)后,结果实体仍落在表示域之内,则称这种表示方法对该运算是封闭的(具封闭性)。
        特征表示的实体之间不能进行集合运算;
        不封闭的表示方法为:简单推移表示(平移与旋转);单元分解表示。边界表示虽然对正则集合运算不封闭(导致表面为非二维流形的实体产生),可以附加约束条件加以避免。
        封闭的表示方法为:空间位置枚举表示八叉树表示CSG表示

有效性
        在表示法应具备的各种性质中,有效性是较为重要的而又难以验证的。
        边界表示(包括推移表示)物体的有效性最难以检验,其中不仅顶点、边、面的拓扑关系可能不一致,而且相互之间可能相交。特征表示的物体的有效性自动得到保证;其它表示方法的有效性验证也较为简单。

简洁性
        实体的表示应该是简洁的,目的是节约存储空间。
        空间分割表示占用大量的空间;
        特征表示、推移表示、CSG表示较为简洁
        边界表示介于其间。值得注意的是:简洁性不应该被独立地考察。例如,在边界表示的半边数据结构中,虽然保存了大量的信息,需要较多的存储空间,但它同时给多种操作带来方便。事实上,常用保存冗余信息换取更快的系统响应速度。
 


第7章 自然景物模拟与分形技术——掌握基本概念

了解自然景物或非均匀非规则形体建模当中有哪些方法

分形几何
——使用过程对具有不规则几何形态的物体(如自然景物)建模

分行几何方法
(1)基于过程,表示不规则、粗糙的形状。
(2)分形对象:整体与局部的自相似性,无限细节

基于物理的建模方法
        主要思想是将物体的物理特性加入到其几何模型中,通过数值计算对其进行仿真,物体的行
为由仿真过程自动确定
        物体的物理特性包括:
        1)物体所具有的一组物理参量
        2)不同参量之间的关系
        3)物理参量与物体几何特性及运动状态之间的关系。
        4)不同物体的物理参量之间的关系。

要掌握粒子系统的基本概念和构成,分形的概念和一般的方法

粒子系统(particle systems)

        是一个随机模型,用大量的粒子图元来描述景物,粒子会随时间推移发生位置和形态变化
        模拟动态自然景物的过程:
        1)生成新的粒子,分别赋予不同的属性以及生命周期;
        2)将新粒子加到系统中;
        3)删去系统中老的已经死亡(超过生命周期)的粒子;
        4)根据粒子的动态属性,按适当的运动模型或规则,对余下的存活粒子的运动进行控制(Transformation);粒子运动的模拟方式:随机过程模拟、运动路径模拟、力学模拟;
        5)根据粒子属性绘制当前系统中存活的所有粒子。


第8章 真实感图形显示

没讲整体光照模型、纹理、光线跟踪技术,主要讲了光照模型等一些内容

取景变换

场景坐标系
        场景的局部坐标系
                完成物体的造型
        场景的世界坐标系(整体坐标系)
                放入待绘制的场景,定义物体之间的相互位置

如果物体被设置了动画
        动画系统将提供一个随时间变化的变换矩阵
        逐帧把物体变换到世界坐标系中
观察坐标系
        也称摄像机坐标系,或者视点坐标系
        完成取景变换所需建立的第一个坐标系
        建立观察坐标系的步骤
                (1)确定观察参考点,即视点位置
                        可以设在任何位置
                        通常选在靠近或在物体的表面
                        将视点位置取为视点坐标系的原点
                (2)确定观察方,即视线方向
                        一般取深度坐标轴,即ze轴的正向
                        为简便起见,视线方向设为总是指向场景坐标系的原点
                (3)确定观察平面,即视平面位置
                        一般取过视点且垂直于视线方向的平面,即xeye平面
场景坐标系
        一般取右手坐标系


观察坐标系
        通常取左手坐标系
        符合人们的观察习惯

 将物体投影到观察平面之前,必须将场景坐标系中的点转换到观察坐标系中这一过程称为取景变换,也称视向变换,包括平移和旋转的一系列几何变换的级联
取景变换矩阵

1. 场景坐标系原点平移到视点位置E(Cx,Cy,Cz)


2.绕xe轴逆时针旋转90º


3.绕ye轴顺时针旋转Ψ角


4.绕xe轴逆时针旋转θ角


5.调整x轴指向


6.对x轴作对称变换

隐藏面消除的方法——帧缓冲器算法和画家算法的原理、方法和优缺点

消隐算法分类

 深度缓存器算法

        基本原理
                颜色缓存:保存各点的颜色。
                深度缓存(Z-Buffer):保存屏幕坐标系上各象素点所对应的深度值。

 

 

 

深度排序算法(画家算法)

      

 

光照模型——基本光照模型和整体光照模型的区别

简单光照模型
        基于经验,只考虑光源直接照射在景物表面所产生的光照效果(只考虑反射光的作用)。
        假定物体表面是理想光滑的,均匀反射率
        高光颜色与材料无关
局部光照模型
        以实际物体表面的微平面理论为基础,反映表面的粗糙度对反射光强的影响
        根据材料的物理性质决定高光颜色
整体光照模型
        考虑周围环境对景物表面的影响
        能模拟连续的明暗色调、镜面高光、阴影
        能模拟镜面映像、光的折射、相邻景物表面之间的色彩辉映等较为复杂精致的效果

各种光照模型的适用条件、效果、优缺点

简单光照模型

环境光模型

特点:
        从周围环境的各个方向投射来的光
        没有空间或方向上的特征
        均匀地照射在物体的各个不同的表面上
        等量地向各个方向反射
        可视为分布光源,精确计算耗时

        物体表面对环境光反射的强度
        与…无关
                入射光的入射方向
                观察者的观察方向
                物体表面的朝向
        仅与…有关
                环境光强度
                物体表面对环境光的反射系数(材质属性)
 

近似模拟的环境光模型:
        P点对环境光的反射强度为
        Ia 场景中的环境光强度
        Ka 物体表明对环境光的漫反射系数

缺点:
        物体各个面具有同样的亮度
                只能为景物表面产生一个平淡的明暗效果
                观察者很难辨别景物各个面的层次
        不真实,不实用
                绘制三维场景时很少仅考虑环境光的作用
                通常至少要用一个点光源来照射物体

优点:
        在调试阶段可节省不必要的明暗度计算
                调试变换、投影、求交、消隐程序


Lambert漫反射模型

特点:

        光源来自一个方向,反射光均匀地射向各个方向

                可看成光穿过物体表面层被部分吸收后重新发射出来的光

        对光线沿各个方向作同等光强的散射
        各点反射光的强度只与…有关
                点光源强度、入射角
                物体表面的反射系数
                物体各面的朝向
        而与…无关
                观察者的观察位置

由Lambert余弦定理可得点P处漫反射光的强度为

         Ip         光源照射到P点处入射光强度
         Kd       漫反射系数或漫反射率,取决于物体表面材质属性
         Θ         P点处面法向量N与入射光方向L的夹角

将环境光与漫反射结合起来


镜面反射和Phong模型

镜面反射特点:

         物体外表面对入射光的直接反射,镜面反射遵循反射定律,入射光和反射光分别位于表面法矢的两侧。
                有光泽的表面,如光滑的塑料、擦亮的金属等
        如果观察者正好处在P点的镜面反射方向上,就会看到一个比周围亮得多的高光区域。
                物体表面越光滑,高光区越小,越亮

        空间分布具有一定方向性
                朝空间一定方向汇聚
                沿镜面反射的主方向最强
                在该方向四周逐渐衰减形成一定的空间分布
        光强不仅取决于入射光和表面材料,还与观察方向有关
                观察者只有位于一定的方向上,才能看到
                当视点位于镜面反射方向附近时,镜面反射光光强较强,反之较弱,甚至观察不到
        具有与入射光相同的性质
                当白光照射在蓝色物体上时,高光仍为白色,不是蓝色

 Phong光照明模型
        物体表面光强计算:
                从视点观察到物体上任一点P处的光强度I应为环境光反射光强度Ie、漫反射光强度Id以及镜面反射光的光强度Is的总和:

明暗处理的方法

Gouraud明暗处理

        Gouraud明暗处理方法,又称为亮度插值明暗处理,它通过对多边形顶点颜色进行线性插值、来绘制其内部各点(双线性颜色插值)

                多边形内部各点颜色的获得:对顶点颜色双线性插值

步骤为:
        计算每个多边形顶点处的平均单位法矢量;
        计算多边形的单位法矢量;
        顶点各邻面的法矢量的平均值
        对每个顶点根据简单光照模型来计算其光强;
        利用光照模型计算顶点的颜色
        在多边形表面上将顶点强度进行线性插值。
        在扫描线消隐算法中对顶点颜色进行双线性插值获取位于多边形内扫描线上各点的颜色。

 缺点:
        只适用于简单的漫反射光照模型
                不能正确模拟镜面反射高光形状
        用于动态显示物体时
                物体表面明暗以不规则方式进行变化,高光问题
        线性光强度插值引起的Mach-band效应
                光亮度变化不连续的边界处出现过亮或过暗的条纹
        公共顶点处颜色不连续,顶点方向不具代表性

Phong明暗处理

        Phong明暗处理方法,又称为法矢量插值明暗处理,它对多边形顶点的法矢量进行插值以产生中间各点的法矢量,(双线性法矢量插值)
步骤为:
        计算每个多边形顶点处的平均单位法矢量;
        计算多边形的单位法矢量;
        顶点各邻面的法矢量的平均值
        用双线性插值方法求得多边形内部各点的法矢量。
        最后按光照模型确定多边形内部各点的光强。
优点:绘制的图形比Gouraud方法更真实
缺点:计算量于Gouraud方法


第10章 计算机动画——简单了解

了解计算机动画常用的关键技术

(以下为从书中自行归纳的,建议阅读课本,了解相关技术的具体运用)

关键帧技术

        计算机通过对关键帧进行插值生成中间画面,这种动画技术称为关键帧技术,适用于对刚体运动的模拟。

        存在的主要问题:

        1.交互响应慢

        2.物体运动的物理正确性和自然真实性难以保证

样条驱动技术

        计基于运动学描述,通过用户事先指定一条物体运动的轨迹(通常用三次参数样条表示)来指定物体沿该轨迹运动,这种方法称为样条驱动动画,也称运动轨迹法。

Morphing和FFD变形技术

        Morphing是指将一个给定的数字图像或者几何形状S以一种自然流畅的、光滑连续的方式渐变为另一个数字图像或者几何形状T。在这种渐变过程中,中间帧兼具S和T的特征,是S到T的过渡形状。

        FFD这种方法引入了一种三变量B样条体的变形工具Lattice,不用对物体直接变形,而是要把变形的物体嵌入一个称为Lattice的空间,通过对物体所嵌入的Lattice空间进行变形,使嵌入在其中的物体也随着Lattice进行变形

        FFD主要缺点缺乏对变形的细微控制,如模拟人脸表情动画等效果不够理想。

运动捕获技术

        过程:经过训练的真实演员按导演的要求做着各种不同的动作,他们身上挂满了感应器,这些感应器连着一台计算机,他们的动作被转换为数字信息记录到计算机中,计算机收集这些数据后将信息传递到工作室,然后结果被3D化,在计算机中以线条形式表现出来,形成电影中角色的基础...

其他动画技术

        过程动画

                物体的运动和变形可由一个过程来控制,通常要基于一定的数学模型或物理规律(如弹性理论、动力学、碰撞检测等)对物体的运动进行控制。

        关节动画和人体动画

                一直是最困难和最具挑战性的课题之一

        基于物理模型的动画

                基于物理模型的动画技术考虑了物体在真实世界中的属性,如具有质量、转动惯矩、弹性、摩擦力等,并基于动力学原理来自动产生物体的运动。

注意事项

考试每章都有。比如变换部分,要求要给出条件写出变换,类似半期;可能给定时间参数,随时间的变化,每个变化之间,几何变换是怎么计算的。每道大题10分。

复习参考资料:教材课后习题、六次作业

猜你喜欢

转载自blog.csdn.net/NOT_TODAY1/article/details/122280729