计算机图形学考试资料整理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.选择题1

a)显存概念

i.帧缓存(俗称显存):存储屏幕上像素的颜色值。

ii.帧缓存中单元数目至少与显示器上像素的数目相同,单元与像素一一对应,各单元的数值决定了其对应像素的颜色。

iii.显示颜色的种类与帧缓存中每个单元的位数有关。

iv.帧缓存与分辨率的关系:

分辨率M*N、颜色个数K 与显存大小V 的关系

例:颜色为真彩色、分辩率是1024×1024的显示器,需要

1024×1024 ×log2224 /8 =3兆字节

b)图形学应该考虑的问题

i.如何在计算机中构造一个客观世界:几何建模(几何)

ii.如何将计算机中的虚拟世界展现出来:几何的视觉实现(绘制)

c)各种消隐算法的特点

i.图像空间消隐

●描述

for(图像中每一个像素) {

确定由投影点与像素连线穿过的距离观察点最近的物体;

用适当的颜色绘制该像素;

}

●特点:在屏幕坐标系中进行的,生成的图像一般受限于显示器的

分辨率

●算法复杂度为O(nN):场景中每一个物体要和屏幕中每一个像素

进行排序比较,n为物体个数,N为像素个数

●代表方法:z缓冲器算法,扫描线算法等

1.Z-Buffer算法

z缓冲器:存储的是对应像素的z值

假设在视点坐标系(oxyz)中,投影平面为z=0,视线方向沿(-z)轴

方向,投影为平行投影

深度值就是物体沿着视线(-z)方向、与视点的距离

离视点近的物体遮挡离视点远的物体:z值越大,离视点越近

算法思路:

(1) 帧缓冲器中的颜色置为背景颜色

(2)z缓冲器中的z值置成最小值(离视点最远)

(3) 以任意顺序扫描各多边形

1缘_枫Only防伪。

a) 对于多边形中的每一像素,计算其深度值z(x,y)

b) 比较z(x, y)与z缓冲器中已有的值zbuffer(x,y)如果z(x,

y) > zbuffer(x, y),那么计算该像素(x, y)的光亮值属性并写入

帧缓冲器更新z缓冲器zbuffer(x, y)=z(x, y)

优点:

●算法复杂度(O(nN)):对于给定的图像空间,N是固定的,

所以算法复杂度只会随着场景的复杂度线性地增加

●无须排序:场景中的物体是按任意顺序写入帧缓冲器和z缓

冲器的,无须对物体进行排序,从而节省了排序的时间

●适合于并行实现(硬件加速)

不足:

●z缓冲器需要占用大量的存储单元:一个大规模复杂场景中:

深度范围可能为106,一个像素需要24bit来存储其深度信

息。如果显示分辨率为1280×1024,那么深度缓冲器需要

4MB存储空间

●深度的采样与量化带来走样现象

●难以处理透明物体

解决存储问题:逐区域进行z缓冲器消隐

ii.景物空间消隐

●描述

for(世界坐标系中的每一个物体) {

确定未被遮挡的物体或者部分物体;

用恰当的颜色绘制出可见部分;

}

●特点:算法精度高,与显示器的分辨率无关,适合于精密的CAD

工程领域

●算法复杂度为O(n2):场景中每一个物体都要和场景中其他的物

体进行排序比较,n为物体个数

●代表方法:背面剔除、表优先级算法等

●理论上:如果n(物体数)

O(n2)小于图像空间算法O(nN)

●实际应用中:通常会考虑画面的连贯性,所以图像空间算法的效

率有可能更高

1.背面剔除算法:

利用视线方向V和物体表面法向N之间的关系

●N⋅V<0:不可见

●N⋅V≥0:可见

作为消隐算法,背面剔除适用于凸多面体,不适用于凹多面体或

其它复杂物体

对于蓝色与绿色的面,简单的背面剔除不能实现完全消隐

适用于场景消隐的预处理:消除一些显然不可见表面,从而提高

其它消隐算法的效率

2.表面优先级算法(画家算法)

a)三维物体的深度排序算法

原理:离视点近的物体可能遮挡离视点远的物体

在景物空间确定物体之间的可见性顺序(物体离视点远近),

由远及近地绘制出正确的图像结果——油画家算法

●条件:场景中物体在z方向上没有相互重叠

●二维半物体的深度排序算法只要简单地比较其z值即可

算法思路:

1.将场景中的多边形序列按其z坐标的最小值zmin (物体上

离视点最远的点)进行排序

2.当物体间的z值范围不重叠时:假设多边形P的zmin

在上述排序中最小,如果多边形P的z值范围与Q的z

值范围不重叠,即Pzmax< Qzmin,此时可以断定多边形

P的优先级最低(见下图)

3.当物体间的z值范围重叠时:判断多边形P是否遮挡场

景中多边形Q,需作如下5个判别步骤

1.多边形P和Q的x坐标范围是否不重叠

2.多边形P和Q的y坐标范围是否不重叠

3.从视点看去,多边形P是否完全位于Q的背面

4.从视点看去,多边形Q是否完全位于P的同一侧

4.P和Q交换顺序后,仍不能判断其优先级顺序,可以按

如下方法处理:将其中一个多边形沿另一个物体剖分

特点:

●三维物体的深度排序算法适合于固定视点的消隐

●通过多边形的剖分,总是可以实现多边形物体在

三维空间中的深度排序

●深度排序算法可以有效地实现透明效果

●在视点变化的场合中(如飞行模拟),深度排序算法难以满

足实时性的要求

b)二叉空间剖分树算法(BSP)(见计算题)

d)OpenGL库函数的分类

i.OpenGL核心库(GL)

这部分函数用于常规的、核心的图形处理,是OpenGL的核心部分,

包含300多个函数,函数名前缀一律是“gl”,核心库可以在所有的

OpenGL平台上运行

ii.OpenGL实用库(GLU)

这部分函数通过调用核心库的函数,为开发者提供相对简单的用法,

实现一些较为复杂的操作。如:坐标变换、纹理映射、绘制椭球、

茶壶等简单多边形。包含约50个函数,函数名前缀一律是“glu”,实

用库可以在所有的OpenGL平台上运行

iii.OpenGL辅助库(GLAUX)

这部分函数提供窗口管理、输入输出处理以及绘制一些简单三维物

体。包含约30个函数,函数名前缀一律是“aux”,OpenGL中的辅

相关文档
最新文档