第八讲消隐与光照模型

合集下载

光影分离知识点梳理总结

光影分离知识点梳理总结

光影分离知识点梳理总结光影分离是指根据光的物理特性,将光和影分开的一种技术。

在现实世界中,光和影常常是不可分割的,但是在数字图像处理中,我们可以通过一系列算法和技术,将光和影分离开来,使得图像处理更加精确和高效。

光影分离的目的是为了更好地理解和处理图像中的光和影,从而使得图像处理更加准确和可靠。

通过光影分离,我们可以更清晰地了解图像中的光照情况、材质特性以及遮挡关系,这些信息对于图像处理和计算机视觉应用非常重要。

在光影分离中,一些重要的知识点包括光照模型、遮挡关系、高光和阴影等。

下面将对这些知识点进行详细的梳理和总结。

一、光照模型光照模型是描述光照和表面反射之间关系的数学模型。

常见的光照模型包括环境光照、漫反射光照、镜面光照等。

环境光照是指物体表面吸收周围环境中的光,然后均匀地反射出来的光。

漫反射光照是指光线照射到物体表面后,均匀地向各个方向散射的光。

镜面光照是指光线照射到物体表面后,呈现明亮的高光效果。

了解光照模型可以帮助我们更好地理解图像中的光照信息,从而进行光影分离处理。

二、遮挡关系遮挡关系是指在图像中物体之间相互遮挡的关系。

通过分析图像中的遮挡关系,可以更好地理解图像中的三维空间结构,从而进行光影分离处理。

常见的遮挡关系包括遮挡、透明和半透明等。

遮挡是指一个物体完全遮挡了另一个物体,透明是指一个物体通过另一个物体的情况,半透明是指一个物体部分遮挡了另一个物体。

通过分析这些遮挡关系,可以更准确地进行光影分离处理。

三、高光和阴影高光是指物体表面被光照射最强、反射最亮的部分,而阴影是指物体表面受到遮挡而无法被光线直接照射到的部分。

通过分析图像中物体的高光和阴影信息,可以更准确地进行光影分离处理。

高光和阴影的存在对于图像中的光照情况和表面材质有很大的影响,了解这些特征可以帮助我们更好地进行图像处理和分析。

综上所述,光影分离是一项非常重要的图像处理技术,通过光影分离,我们可以更准确地理解和处理图像中的光照情况、遮挡关系以及表面特性。

计算机图形学究极题库-副本

计算机图形学究极题库-副本

计算机图形学究极题库-副本名词解释:1.图形:能够在⼈们视觉系统中形成视觉印象的对象称为图形,包括⾃然景物和⼈⼯绘图。

2.像素图:点阵法列举图形中的所有点。

⽤点阵法描述的图形称为像素图。

3.参数图:参数法描述图形的形状参数和属性参数。

⽤参数法描述的图形称为参数图。

4.扫描线:在光栅扫描显⽰器中,电⼦枪扫过的⼀⾏称为⼀条扫描线。

5.构造实体⼏何表⽰法:⽤简单的实体(也称为体素)通过集合运算组合成所需的物体的⽅法称为构造实体⼏何表⽰法。

6.投影:投影是从⾼维(物体)空间到低维(投影)空间的⼀种映射。

7.参数向量⽅程:参数向量⽅程是包含参数和向量的⽅程。

8.⾃由曲线:形状⽐较复杂、不能⽤⼆次⽅程来表⽰的曲线称为⾃由曲线,通常以三次参数⽅程来表⽰9.曲线拟合:给定⼀个点列,⽤该点列来构造曲线的⽅法称为曲线拟合。

10.曲线插值:已知曲线上的⼀个点列,求曲线上的其他点的⽅法称为曲线插值。

11.区域填充:根据像素的属性值、边或顶点的简单描述,⽣成区域的过程称为区域填充。

12.扫描转换:在⽮量图形中,多边形⽤顶点序列来表⽰,为了在光栅显⽰器或打印机等设备上显⽰多边形,必须把它转换为点阵表⽰。

这种转换称为扫描转换。

1、计算机图形学:⽤计算机建⽴、存储、处理某个对象的模型,并根据模型产⽣该对象图形输出的有关理论、⽅法与技术,称为计算机图形学。

2、计算机图形标准:计算机图形标准是指图形系统及其相关应⽤程序中各界⾯之间进⾏数据传送和通信的接⼝标准。

3、图形消隐:计算机为了反映真实的图形,把隐藏的部分从图中消除。

4、⼏何变换:⼏何变换的基本⽅法是把变换矩阵作为⼀个算⼦,作⽤到图形⼀系列顶点的位置⽮量,从⽽得到这些顶点在⼏何变换后的新的顶点序列,连接新的顶点序列即可得到变换后的图形。

5、计算⼏何:计算⼏何研究⼏何模型和数据处理的学科,讨论⼏何形体的计算机表⽰、分析和综合,研究如何⽅便灵活、有效地建⽴⼏何形体的数学模型以及在计算机中更好地存贮和管理这些模型数据。

计算机图形学中的光照模型

计算机图形学中的光照模型

计算机图形学中的光照模型在计算机图形学中,光照模型是模拟现实世界中光线与物体之间相互作用的模型。

通过使用光照模型,计算机可以在虚拟场景中模拟光线的传播和反射,从而创建出真实感和逼真感的图像。

因此,光照模型是计算机图形学中非常重要的一个组成部分。

光照模型的基本原理是从光源发出的光线经过物体表面的反射、折射和透射等变换,最终到达观察者的眼睛,从而形成人们所看到的图像。

在光照模型中,光源可以是点光源、定向光源和面光源等不同类型的光源,而物体的材质属性和表面形状也会对光线的传播和反射产生影响。

常见的光照模型包括冯氏光照模型、布林-菲菲(Blinn-Phong)光照模型、库克-托伯汉姆(Cook-Torrance)光照模型等。

下面,我们分别对这三种光照模型进行介绍。

冯氏光照模型是最早被提出的光照模型之一,它是由斯特恩伯格(Phong)在上世纪70年代提出的。

冯氏光照模型假设物体表面的亮度与其漫反射和镜面反射成分的线性组合有关。

其中,漫反射成分是从各个方向均匀地反射出来的光线,而镜面反射成分则是由光源直接反射回观察者的光线。

冯氏光照模型还考虑了环境光的影响,该影响是由光源外发射的光线在场景中反射和折射,并最终到达物体表面的。

布林-菲菲光照模型是另一种常用的光照模型,它是由布林(Blinn)和菲菲(Phong)在上世纪80年代提出的。

相比于冯氏光照模型,布林-菲菲光照模型增加了一个半角向量的概念。

半角向量是入射光线和出射光线的平均方向,它可以更加准确地描述物体表面的反射特性。

此外,布林-菲菲光照模型还加入了柔光和高光衰减等特性,从而使得被渲染的图像更加真实。

库克-托伯汉姆光照模型是一种物理模拟的光照模型,它是由库克(Cook)和托伯汉姆(Torrance)在上世纪80年代提出的。

该光照模型基于微观的物理原理,考虑了光线与物体表面微观结构之间的相互作用。

库克-托伯汉姆光照模型因其真实感和准确性而被广泛应用于计算机图形学、计算机游戏等领域。

三维物体消隐算法

三维物体消隐算法

----本文将分析当前在CAD三维图形处理中最主要的12中消隐算法,其中8种属于物体空间法,4种属于图象空间法。在实际处理中,由于物体表面形态的复杂性和提高消隐处理的效率,通常都是结合使用多种消隐算法来完成物体的消隐处理的。
----一、物体空间法
----物体空间法是在三维坐标系中,通过分析物体模型间的几何关系,如物体的几何位置、与观察点的相对位置等,来进行隐藏面判断的消隐算法。世界坐标系是描述物体的原始坐标系,物体的世界坐标描述了物体的基本形状。为了更好地观察和描述物体,经常需要对其世界坐标进行平移和旋转,而得到物体的观察坐标。物体的观察坐标能得到描述物体的更好视角,所以物体空间法通常都是在观察坐标系中进行的。观察坐标系的原点一般即是观察点。
[x*y*z*1]=[xyz][cosβ0-sinβ0
0100
sinβ0cosβ0
0001]
物体绕X轴旋转的角度γ的三维旋转变换公式为
[x*y*z*1]=[xyz][1000
0corγsinγ0
0-sinγcosγ0
0001]
将上述表达式展开后可得如下公式
{x'=cosα×x-sinα×z;
三维坐标变换
透视投影变换
基本图形元素间的求交计算
两个区域重叠判断
点与区域的包含测试
面的朝向测试
----S为消隐策略,即规定P中各基本操作过程被采用的先后次序。
----因此,设计消隐算法时应考虑上述五个要素及它们之间的相互关系。
----在计算机图形学中,为了简化算法,一般是利用多面体去逼近曲面体,因此多面体的消隐算法是曲面体的基础。本文的消隐算法讨论主要是基于多面体的消隐问题,对曲面体进行多次多面体近似,对每一多面体运用多面体消隐算法就能实现曲面体的消隐。

虚拟现实技术的复习资料

虚拟现实技术的复习资料

虚拟现实技术第一章1、虚拟现实的概念:用计算机技术来生成一个逼真的三维视觉、听觉、触觉或嗅觉等感觉世界;让用户可以从自己的视点出发,利用自然的技能和某些设备对这一生成的虚拟世界客体进行浏览和交互考察。

虚拟现实是计算机与用户之间的一种理想化的人-机界面形式。

通常用户戴一个头盔(用来显示立体图象的头式显示器),手持传感手套,仿佛置身于一个幻觉世界中,在虚拟环境中漫游,并允许操作其中的“物体”。

2、虚拟现实的特征与传统计算机相比,虚拟现实系统具有四个重要特征:临界性,交互性,想象性,多感知性3、虚拟现实系统的构成:a.虚拟世界(包含三维模型或环境定义的数据库) b.虚拟现实软件(提供实现观察和参与虚拟世界的能力) c.计算机 d.输入设别(观察和构造虚拟世界;如三维鼠标,数据手套,定义跟踪器等) e.输出设备(现实虚拟世界;如显示器,头盔等)4、虚拟现实系统的类型桌面虚拟现实系统,沉浸式虚拟现实系统,混合虚拟现实系统5、虚拟现实的硬件设备跟踪系统(把使用者身体位置的变动反馈给主机,以实时改变图像和声音)知觉系统(人及交互的各种界面,包括视觉装置:头盔显示器等;触觉装置:数据手套跟踪球等)音频系统:立体声耳机等图像生成和现实系统:产生视觉图象和立体显示6、虚拟现实有哪些软件VR系统开发工具:能够接受各种高性能传感器的信息,如头盔的跟踪信息;能生成立体显示图行;能把各种数据库,各种CAD软件进行调用和互联3DSMax:三维制作软件Maya:三维动画以及虚拟现实制作软件,实时三维模型创建软件Multigen Creator7、眼睛的作用、视觉暂留和临界融合频率的概念眼睛的作用:调节和聚焦,明暗适应,视觉暂留,立体视觉,视场视觉暂留:视觉暂留是视网膜的电化学县乡造成视觉的反应时间。

当观看很短的光脉冲时,视杆细胞得到越0.25s的峰,视椎细胞快4倍(0.04s)。

这种现象造成视觉暂留。

临界融合频率:临界融合频率(CFF)效果会产生把离散图像序列组合成连续视觉的能力,CFF最低20Hz,冰取决于图像尺寸和亮度。

06-消隐

06-消隐

点与多边形的包含性检测: (1)射线法
P P1 P2 P3 P P1 P2
由被测点P处向 y = - 方向作射线 交点个数是奇数,则被测点在多边形内部。否则,偶数 表示在多边形外部。
若射线正好经过多边形的顶点 ,则采用“左开右闭”的原则来 实现。即:当射线与某条边的顶 点相交时,若边在射线的左侧, 交点有效,计数;若边在射线的 右侧,交点无效,不计数。 用射线法来判断一个点是否 在多边形内一是计算量大,二 是不稳定。原因是射线在经过 多边形顶点时,由于计算机本 身的误差(也许多了0.00001), 把本该无效的交点变成有效的 交点了。所以这种算法是不稳 定的。
上图所画的仅仅是一个简单的立方体,如果一个物体是由多 个形体所组成的,或者整个三维场景是由多个物体构成的,情 况就更为复杂了。 因此,要绘制出意义明确的、富有真实感的立体图形,首 先必须消去形体中的不可见部分,而只在图形中表现可见部 分。这就要去寻求解决显示三维物体的图形中消去不可见部 分的方法,也就是所谓的“消隐”问题。消隐包括消除“隐 藏线”和“隐藏面”两个问题。
消 隐
三维物体的显示和真实感图形是当今计算机图形学研究的 一个焦点。在二维显示设备上显示三维图像, 必须对三维图像 进行消隐处理, 通过消隐处理的物体才能很好的表现三维立体 效果, 但是这种物体明显缺乏真实感, 还需要对物体进行真实 感的处理, 这样才能逼真的显示物体。
主要讲述的内容:
消隐的分类,如何消除隐藏线、隐藏面,主要介绍以 下几个算法:
Z-Buffer算法() { 帧缓存全臵为背景色
深度缓存全臵为最小Z值(比如赋一个10-8次方)
for(每一个多边形)
{扫描转换该多边形
for(该多边形所覆盖的每个象素(x,y) )

第7章 消隐

第7章 消隐

深度缓冲器算法
深度值的计算 若已知多边形的方程,则可用增量法计算扫描 线每一个像素的深度。设平面方程为:
Ax + By + Cz + D = 0
则多边形面上的点(x,y)所对应的深度值为: (7-6)
( Ax + By + D) z= C
C≠0
深度缓冲器算法
由于所有扫描线上相邻点间的水平间距为1个 像素单位,扫描线行与行之间的垂直间距也为 1。因此可以利用这种连贯性来简化计算过程, 如图7-13所示。
扫描线算法
扫描线与多边形面片求交算法的实现 - 扫描线算法的三表数据结构 边表(ET) 对投影到屏幕上的这些多边形的所有非水平边 建立ET表,边结点结构如下:
扫描线算法
多边形表(PT) 多边形表的结构如下:
活性边表(AET) 为了计算扫描线与各边的交点,还需活性边表 (AET) AET是与当前扫描线相交的多边形边结点链接 而成的表。
v
S
3
S
2
S
1
(x, y)
Xv
Zv
图7-12 Z缓冲器算法基本思想
深度缓冲器算法
算法描述 深度缓冲器所有单元均置为最小z值,帧缓冲器各单 元均置为背景色,然后逐个处理多边形表中的各面片。 每扫描一行,计算该行各像素点(x,y)所对应的深 度值z(x,y),并将结果与深度缓冲器中该像素单 元所存储的深度值ZB(x,y)进行比较。 若z>ZB(x,y),则ZB(x,y)= z,同时将该像素 的属性值I(x,y)写入帧缓冲器,即FB(x,y)= I (x,y);否则不变。
扫描线算法
多边形发生相互贯穿 在多边形发生相互贯穿的情况下,仍可以使用 扫描线消隐算法。如图7-15所示,多边形GHI 和JKL发生相互贯穿。此时,可将多边形GHI 分为两个多边形GHH‘G’和H‘G’I,引入了虚边 J G‘H’。 H

《计算机图形学》--试卷A及参考答案

《计算机图形学》--试卷A及参考答案

()4. EGA/VGA为增强图形显示效果的一种图形处理软件的名称。

()5. 对山、水等不规则对象进行造型时,大多采用过程式模拟方法。

()6. 实体的边界由平面多边形或空间曲面片组成。

()7. 平面多面体表面的平面多边形的边最多属于两个多边形,即它的表面具有二维流形的性质。

()8. 观察空间位于前后裁剪面之间的部分称为裁剪空间或视见体。

()9. 找出并消除物体中的不可见部分,称为消隐。

()10. 使用齐次坐标可以将n维空间的一个点向量唯一的映射到n+1维空间中。

三、填空题(将正确答案填入横线上,每空2分,共20分)1.直线的属性包括线型、和颜色。

2.颜色通常用红、绿和蓝三原色的含量来表示。

对于不具有彩色功能的显示系统,颜色显示为。

3.平面图形在内存中有两种表示方法,即和矢量表示法。

4.将三维物体变为二维图形的变换称为,其有两种基本方式:平行投影、。

5. 边界点组成的集合称为集合的。

6.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体有效物体。

7.通过实体的边界来表示一个实体的方法称为。

8.表面由平面多边形构成的空间三维体称为。

9. 标量:一个标量表示。

四、简答题(每小题5分,共20分)1. 什么是图像的分辨率?2. 局部光照模型和全局光照模型的不同之处是什么?3.实体采用八叉树表示法有哪些缺点?4. 消隐算法有哪些类型,它们各有什么特点?五、计算题(每小题11分,共22分)1. 写出直线方程b mx y +=''对应的xy 坐标方程,假设''y x 坐标系是由xy 坐标系旋转90°得到。

2. 写出从),(111y x P 到),(222y x P 的段与(a )垂直线x =a ,(b )水平线y =b 的交点。

以下为本试卷的参考答案一、名词解释(每小题3分,共18分)1.图形:能够在人们视觉系统中形成视觉印象的对象称为图形,包括自然景物和人工绘图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
凸多面体是由若干个平面围成的物体。假设这些平面方程为 aix+biy+ciz+di=0, i=1, 2, …, n (7.1)
变换方程的系数,使(ai, bi, ci)指向物体外部的。那么: 假设式(8.1)所定义的凸多面体在以视点为顶点的视图四棱 锥内,视点与第i个面上一点连线的方向为(li, mi, ni)。那么自隐 藏面的判断方法是: (ai, bi, ci)⋅(li, mi, ni)>0 任意两个自隐藏面的交线,为自隐藏线。(自隐藏线应该用虚 线输出)。

消隐算法分类
根据实现时所在的坐标系或空间: 根据实现时所在的坐标系或空间: 图像空间算法,在屏幕坐标系中实现, 1、图像空间算法,在屏幕坐标系中实现,(一旦达到屏幕 分辨率,就不再计算下去) 分辨率,就不再计算下去) 计算量=屏幕像素点N*物体个数n 计算量=屏幕像素点N*物体个数n N*物体个数 2 、 物体空间算法(也称对象空间算法): 把 n 个对像素中的 物体空间算法( 也称对象空间算法) 每一个与其它( 每一个与其它(n-1)个对象比较,消去不可见的对象: 个对象比较,消去不可见的对象: 计算量=n(n计算量=n(n-1) =n(n
Z—Buffer算法) Buffer算法 深度缓存算法 ( Z Buffer算法)
Z—Buffer Buffer ---用于存放与屏幕上像素点对应的物体上点的深度值。 用于存放与屏幕上像素点对应的物体上点的深度值。
投影面
y
z
视线方向
视点位置
x
屏幕像素
F — Buffer
Z—Buffer
Z-buffer算法的步骤如下: 算法的步骤如下: 算法的步骤如下
• 这个算法的关键在第⑵步,要尽快判断出哪些点落在一 个多边形内 ,并尽快求出一个点的深度值 。(下页)
优点: 算法简单,易于硬件实现。 • 缺点: 缺点:
(1):ZB和CB两个缓存数组占用的存储单元太多 ,需要有一 个较大容量的 Z—Buffer 。 (2):在每个多边形占据的每个像素处都要计算深度值,计算 量大; (3):在实现反走样、透明和半透明等效果方面困难(可以用 A-缓存器算法解决)。
Zi, j = —
j
axi + byi + d c
若 c = 0,则多边形Fk的法线方向与 Z 轴垂直, Fk在投影 面上的投影为一条直线,可不予考虑。
7.2.2 区间扫描线算法
• 在多边形填充算法中,活性边表的使用பைடு நூலகம்得了节省运
行空间的效果。用同样的思想改造Z-buffer算法:将 整个绘图区域分割成若干个小区域,然后一个区域一 个区域地显示,这样Z缓冲器的单元数只要等于一个区 域内像素的个数就可以了。如果将小区域取成屏幕上 的扫描线,就得到扫描线Z缓冲器算法。

将z缓冲器中个单元的初始值置为-1(规范视见体的最小n 值)。当要改变某个像素的颜色值时,首先检查当前多边形 的深度值是否大于该像素原来的深度值(保存在该像素所对 应的Z缓冲器的单元中),如果大于,说明当前多边形更靠近 观察点,用它的颜色替换像素原来的颜色;否则说明在当前 像素处,当前多边形被前面所绘制的多边形遮挡了,是不可 见的,像素的颜色值不改变。
7.2.3 深度排序算法(画家算法) 深度排序算法(画家算法) 由来:画家的作画顺序暗示出所画物体之间
的相互遮挡关系
算法基本思路:
1)先将场景中的物体按其距观察点的远近 进行排序,结果放在一张线性表中;
(线性表构造: 线性表构造: 距观察点远的称优先级低,放在表头; 距观察点远的称优先级低,放在表头;距观察点 近的 称优先级高,放在表尾。该表称为深度优先级表 深度优先级表) 称优先级高,放在表尾。该表称为深度优先级表)
7.1.1 消隐的分类
• 线消隐 (Hidden-line)——对象空间算法 对象:线框模型
•面消隐 (Hidden-surface)——图像空间算法 面消隐
对象:填色图
线框模型
填色图
•线消隐 是以场景中的物体为处理单元,将一个 线消隐
物体与其余的 k-1 个物体逐一比较,仅显示它可 见的表面以达到消隐的目的。 此类算法通常用于消除隐藏线 消除隐藏线。 消除隐藏线
•假定场景中有 k 个物体,平均每个物体的表面由 h 个多边形构成,其计算复杂度为 O((kh)2)。
算法描述如下: 算法描述如下:
for (场景中的每一个物体) { 将该物体与场景中的其它物体进行比较,确定其表面的 可见部分; 显示该物体表面的可见部分; } (示例如右图)
线消隐示例
7.1.2 凸多面体的隐藏线消隐
之后,将对象表面上不可见的点、线、面消去。执行这种功能 的算法,称为消隐算法。
例如: 例如:
基本概念
一.为什么要消隐 为什么要消隐 因为计算机图形处理的过程中,不会自动消去隐藏部分, 相反会将所有的线和面都显示出来。 问题:① 对于线画图形会出现多义性。 ② 要增强图形的真实感必须进行消隐处理。
对于光栅扫描着色的面图形则会导致图形错误。
1) 线段与多边形的任何边均不相交。处理方法比 较简单。 2) 线段与多边形相交。那么多边形的边把线段投 影的参数区间[0, 1]分割成若干子区间,每个 子区间对应一条子线段(如下图所示),进一步 判断各子线段的隐藏性 。
线段投影被分为若干子线段
• 把各个子线段与 所有需要比较的多 边形依次进行隐藏 性判别,记下各条 隐藏子线段的位置。 最后,对这些区间 进行求并集运算, 即可确定总的隐藏 子线段的位置,余 下的则是可见子线 段 (右图)
2)然后按照从表头到表尾的顺序逐个绘制 物体。
画家算法
关键:如何对场景中的物体按深度(远 近)排序,建立深度优先级表? 一种针对多边形的排序算法如下:
假定在规范化投影坐标系uvn中,投影方向是n 轴的负向,因而n坐标大距观察者近。记nmin(P) nmax(P)分别为多边形P的各个顶点n坐标的最小 值和最大值,算法步骤如下:
算法描述如下: 算法描述如下:
for (窗口内的每一个像素) {确定距观察点最近的物体,以该物体表面的颜色来显示像素;
}
面消隐示例
7.2.1 深度缓存 深度缓存(Z-buffer)算法 算法
•由来 由来: 由来 帧缓冲器 – 保存各像素颜色值(CB) z缓冲器 --保存各像素处物体深度值(ZB) z缓冲器中的单元与帧缓冲器中的单元一一对应 •思路 思路: 思路
Z-Buffer算法实现中的关键问题 Buffer算法实现中的关键问题 ①判断点( i, j )是否在多边形Fk在投影面上的投影内 解决办法:采用包含测试。 ②计算多边形Fk在点( i, j )处的深度值 Zi, 若多边形Fk的平面方程为: ax + by + cz + d = 0 若 c ≠ 0,则
可见子线段的确定
•面消隐是以窗口内的每个像素为处理单元, 面消隐
确定 在每一个像素处,场景中的物体哪一个距离观察点最 最 可见的) 从而用它的颜色来显示该像素。此类 近(可见的),从而用它的颜色来显示该像素 消除隐藏面。 算法通常用于消除隐藏面 消除隐藏面
•若显示区域中有 m×n 个像素,则其计算复杂度为 O(mnkh)。 •假定场景中有 k 个物体,平均每个物体的表面由 h 个多边形构成,其计算复杂度为 O((kh)2)。
⑴ 初始化ZB和CB,使得ZB(i, j)=Zmax,CB(i, j)=背景色。其中, i=1, 2, …, m,j=1, 2, …, n。 ⑵ 对多边形α,计算它在点(i, j)处的深度值zi, j。 ⑶ 若zij<ZB(i, j),则ZB(i, j)=zij,CB(i, j)=多边形α的颜色。 ⑷ 对每个多边形重复⑵、⑶两步。最后,在CB中存放的就是 消隐后的图形。
基本概念
一.消隐涉及的算法: 消隐涉及的算法: 消隐涉及的算法 排序 连贯性——是指所考察的物体或画面的性质在局部区域 指所考察的物体或画面的性质在局部区域 内保持不变的一种倾向。例如: 内保持不变的一种倾向 棱边的连贯性是指:棱边的可见性在它与其他棱边相交 棱边的可见性在它与其他棱边相交 时才发生变换; 时才发生变换 面的连贯性是指:如果面的一部分是可见的,则一般情 如果面的一部分是可见的, 如果面的一部分是可见的 况下整个面都是可见的。 况下整个面都是可见的 二
8.1.3 凹多面体的隐藏线消隐
• 凹多面体的隐藏线消除比较复杂。 • 假设凹多面体用它的表面多边形的集合表示 , 消除隐藏线的问题可归结为: 对于一条空间线段P 对于一条空间线段 1P2和一个多边形α,判 如果被遮挡, 断线段是否被多边形遮挡 。如果被遮挡,求出 隐藏部分
线段和多边形的关系有:
扫描线算法描述
for ( 各条扫描线 各条扫描线) {将帧缓冲器 将帧缓冲器I(x)置为背景色; 置为背景色; 将帧缓冲器 置为背景色 缓冲器的Z(x)置为最大值; 置为最大值; 将Z缓冲器的 缓冲器的 置为最大值 for (每个多边形) 每个多边形) 每个多边形 { 求出多边形在投影平面上的投影与当前扫描线的相交区间 for (该区间内的每个像素) 该区间内的每个像素) if ( 多边形在此处的 值小于 多边形在此处的Z值小于 值小于Z(x) ) { 置帧缓冲器 置帧缓冲器I(x)值为当前多边形颜色; 值为当前多边形颜色; 值为当前多边形颜色 缓冲器Z(x)值为多边形在此处的 值; } 值为多边形在此处的Z值 置Z缓冲器 缓冲器 值为多边形在此处的 } }
画家算法
在多边形面片数量很大时(而且没有循环 遮挡或贯穿的情况下),画家消隐算法最快。 本算法不能处理的情况: 多边形循环遮挡 多边形相互穿透 解决办法:分割成两个
在各种消隐算法中,下列那些论述是 正确的? (A,B,C,D )
A. 画家算法的基本思想是先将屏幕赋值为背景色, 然后在把物体各个面按其到视点距离远近排序; B. Z缓冲算法不仅需要帧缓冲区存放象素的亮度值, 还需要一个Z缓冲区存放每个象素的深度值; C. 扫描线算法首先按扫描行顺序处理一帧画面,在 由视点和扫描线所决定的扫描平面上解决消隐问题; D. 区域采样算法是利用图形的区域连贯性在连续的 区域上确定可见面及其颜色和亮度。
相关文档
最新文档