收藏 分销(赏)

三维真实感图形虚拟演示系统设计与实现论文.doc

上传人:仙人****88 文档编号:9118818 上传时间:2025-03-14 格式:DOC 页数:39 大小:2.98MB
下载 相关 举报
三维真实感图形虚拟演示系统设计与实现论文.doc_第1页
第1页 / 共39页
三维真实感图形虚拟演示系统设计与实现论文.doc_第2页
第2页 / 共39页
点击查看更多>>
资源描述
毕业论文 第34页 毕业设计(论文) 设计论文题目: 三维真实感图形虚拟演示系统设计与实现 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 学院院长: 5 月 27 日 三维真实感图形虚拟演示系统设计与实现 摘要 本文论述了虚拟现实技术在商品展示中的应用。主要内容如下:对虚拟现实基础理论进行比较深入的研究,抓住虚拟现实的本质特点,同时对现实中的商品演示进行VR式的分析,确定哪些可以用VR技术能很好的实现,哪些欠妥。从宏观到微观再由微观到宏观研究了虚拟现实的相关概念、应用范围以及从不同角度的分类。虚拟现实问世时间虽然不长但它所涉及的范围之广、表现形式之多能够看出未来的发展无可限量。也正因为这一点,目前相当一部分虚拟现实技术还不是很成熟。本文所阐述的也只是VR中关于真实感的一部分原理和简单应用,如阴影光照反射等。 论文首先对课题研究目的、研究意义进行阐述。然后,着重分析了VR技术中的相关经典算法,如Z缓冲器消隐算法等,这是VR技术实现的基础。最后是系统是如何具体构建的。 系统主要是使用3D-MAX进行建模,再利用Virtools工具强大的图形编辑功能来组织各种素材,来真实的模拟商品展示的效果,让使用者可以有身临其境的感觉,而获得“眼见为实”的产品信息。 关键词:虚拟现实,真实感,Virtools,建模技术,三维场景 The Research and Implementation of 3D Graphic virtual presentation systems Abstract This article discusses the virtual reality technology in the display of goods. The following key elements: studying the basic theories of virtual reality; understanding the characteristics of the nature of virtual reality; analyzing the reality in the presentation of goods in virtual reality. We research related to the concept﹑categories and application of virtual reality from the macro to micro . Although virtual realities come out not long, its range is so wide and its form is so many. It has a bright future. Precisely because of this, a considerable part of virtual reality technology is not very mature at present. This paper said that on the part of the reality principle and simple application, such as shadow﹑light and so on. First of all papers on topics are talking about purpose of the study, research significance.Then, we stand the focus of VR technology in the relevant classical algorithm, such as Z-Buffer blanking algorithm and so on. This is the basis of VR technology. Finally, it is how to achievethe system. We use 3D-MAX to modeling. Then we organize all kinds of material by Virtools. So we can simulate the showing of goods and make users feel the feeling and access to useful information. Key words: Virtual Reality, Realistic, Modeling, Virtools,3D Scene 目 录 1. 绪论 1 1.1 课题的研究意义及重点 1 1.1.1 研究目的 1 1.1.2 设计过程 1 1.2 论文的组织结构 3 2. 三维真实感图形虚拟技术 4 2.1 三维真实感图形虚拟技术发展的历史 4 2.2 三维真实感图形虚拟技术的应用领域 5 2.3 虚拟现实在未来的展望 7 3. 三维真实感图形虚拟技术的相关算法 9 3.1光照模型和多边形绘制算法 9 3.1.1 光照模型 9 3.1.2 多边形绘制算法 11 3.2 光线跟踪算法 13 3.3 纹理映射 13 3.4 消隐 14 3.4.1 画家算法 14 3.4.2 Z-Bufier算法及扫描线Z缓冲器算法 15 4. 系统设计思路 17 4.1面向对象的系统设计 17 4.1.1 面向对象综述 17 4.1.2 面向对象的系统构建方法 17 4.2 虚拟商品演示系统综述 18 4.2.1 演示系统模型设计 19 4.2.2 系统功能模块的简介 19 4.3 系统构建工具Virtools基本介绍 20 5. 系统实现 23 5.1系统开发环境 23 5.1.1系统开发的硬件环境 23 5.1.2系统开发的软件环境 23 5.2 系统的具体实现 23 5.2.1模型的建立与控制 23 5.2.2 系统功能模块的实现 25 5.3 系统运行实例 29 总结与展望 32 致谢 33 参考文献 34 1. 绪论 1.1 课题的研究意义及重点 目前,虚拟现实技术日益发展,很多理论不断成熟,理论与实际相结合的要求不断增加,三维真实感图形虚拟演示也已经成为VR技术的一个重要方面和环节。本课题在此背景下,以一个商品虚拟演示系统为载体,来研究相关技术的实现。 1.1.1 研究目的 虚拟现实技术[1]---就是通过技术或设备模拟出一个可交互的,虚拟的三维空间场景。 自从虚拟现实之父Sutherland1965年在一篇名为《终极的显示》的论文中首次提出虚拟现实系统的基本思想以来,已经过去了将近40年了,而直至四、五年以前,虚拟现实的应用还仅限于一些高端行业,例如国防军事飞行模拟,军事演习,武器操控、宇航探测、太空训练等。长期以来虚拟现实一直以“几何建模”为主,3DMax、Maya等CG软件的辉煌就印证了这一点。 随着全景市场的快速成长,三维真实感技术提供商不断涌现。凭借三维真实感技术日益扩大的市场需求和应用,通过深入研究虚拟现实可视化等技术,帮助人们在计算机和网络这个虚拟世界中更好地重建现实,体验现实和改造现实。 本次课题设计的主要目的是研究三维真实感图形在虚拟现实中的应用,比较三维真实感图形与传统的二维图形给人带来的视觉效果和互操作性。此次课题设计的另外一个目的就是通过开发一个三维真实感图形演示系统从而探索出现有三维真实感图形开发工具、理论和技术的不足之处。 1.1.2 设计过程 要设计一个良好的场景和优秀的交互方式,现在虚拟现实场景十分繁多,各种交互 方式也五花八门,我们要选择特定的场景,场景要保证两点:一是其新鲜性,让人耳目 一新,否则会让人有过于老套的感觉;另外就是其真实度,这是本次课题的着重关注点;在选取选定的场景后,我们要定义各交互方式,在从现有可得到的交互方式案例中提取和创新,以保证开发出来的交互方式可以最大程度的提高人机交互的效率。 场景的规模是必须考虑的,因为设计的时间和人员有限,必须限制场景规模,没有时间和人力去开发过大的场景规模,但是如果场景规模过小,演示系统就无法给人带来非常强烈的真实感冲击,而且过小规模的场景也会限制交互方式的设计和开发;所以定义适当的场景规模,对于课题的成败十分重要。 通过对计算机图形学和三维人机交互方式等相关书籍和文献的阅读和学习,了解和掌握建立真实图形显示系统的过程和三维虚拟场景中人机交互的方式。 三维图形及动画场景的显示,就是把所建立的三维空间模型,经过计算机的复杂处理,最终在计算机二维屏幕上显示的过程,并且在显示的过程要保证其真实感。一般,设计三维图形软件要经过以下步骤: (1)图元建立三维模型。 (2)设置观看物体的窗口和观看点(视点)。 (3)设定各物体的属性(如色彩、光照、纹理映射等) (4)如果要物体动起来,还要进行图形变换(如几何变换、视窗变换和投影变换等)。 (5)三维图形的二维化。 流程如下: (1) 建立三维模型 建立三维模型,就是在三维坐标系中画三维场景。利用画点(Point)、画线(Line)、画多边形(Polygon)等函数可以建立复杂的空间模型。在表示三维空间时,一般用齐次坐标(Homogeneous Coordinate)。在实际应用时一般把一系列顶点(Vertex )组织起来以构成物体或图元。 (2) 置窗口和视口 图形显示的区域称为显示窗口。流程顺序为:定义一个窗口一般由以下步骤完成:设置窗口模式,设置窗口位置、大小,初始化窗口,窗口颜色设置 清理窗口是指把窗口清成某种颜色。 要观看场景,也需要一个窗口,即视口。通俗地讲,视口变大,场景被放大;视口变小,场景被缩小。 (3) 设置光照 要使物体具有真实感,就要对物体进行光照处理。在计算机图形学中,物体的真实感应考虑两种因素:光源和物体材质。 1.2 论文的组织结构 本文共五章,其中二到五章叙述论文主要内容,组织结构如图1.1所示: 三维真实感图形虚拟演示系统设计与实现 绪论 理论基础 实践 相关算法 三维真实感图形技术 系统设计思路 系统实现 总结与展望 图1.1 组织结构图 2. 三维真实感图形虚拟技术 2.1 三维真实感图形虚拟技术的发展历史 1950年,第一台图形显示器作为美国麻省理工学院(MIT)旋风I号(Whirlwind I)计算机的附件诞生了[2]。该显示器用一个类似于示波器的阴极射线管(CRT)来显示一些简单的图形。1958年美国Calcomp公司由联机的数字记录仪发展成滚筒式绘图仪,GerBer公司把数控机床发展成为平板式绘图仪。在整个50年代,只有电子管计算机,用机器语言编程,主要应用于科学计算,为这些计算机配置的图形设备仅具有输出功能。计算机图形学处于准备和酝酿时期,并称之为:“被动式”图形学。到50年代末期,MIT的林肯实验室在“旋风”计算机上开发SAGE空中防御体系,第一次使用了具有指挥和控制功能的CRT显示器,操作者可以用笔在屏幕上指出被确定的目标。与此同时,类似的技术在设计和生产过程中也陆续得到了应用,它预示着交互式计算机图形学的诞生。 1962年,MIT林肯实验室的Ivan E Sutherland 发表了一篇题为“Sketchpad:一个人机交互通信的图形系统” 的博士论文,他在论文中首次使用了计算机图形学“Computer Graphics”这个术语,证明了交互计算机图形学是一个可行的、有用的研究领域,从而确定了计算机图形学作为一个崭新的科学分支的独立地位,并以此获得了“图形学之父”的英名,而在论文中所提出的一些基本概念和技术,如交互技术、分层存储符号的数据结构等至今还在广为应用。1964年MIT的教授Steven A. Coons提出了被后人称为超限插值的新思想,通过插值四条任意的边界曲线来构造曲面。同在60年代早期,法国雷诺汽车公司的工程师Pierre Bézier发展了一套被后人称为Bézier曲线、曲面的理论,成功地用于几何外形设计,并开发了用于汽车外形设计的UNISURF系统。Coons方法和Bézier方法是CAGD最早的开创性工作。值得一提的是,计算机图形学的最高奖是以 Coons的名字命名的,而获得第一届(1983)和第二届(1985) Steven A Coons 奖的,恰好是Ivan E Sutherland和Pierre Bézier,这也算是计算机图形学的一段佳话。 70年代是计算机图形学发展过程中一个重要的历史时期。由于光栅显示器的产生,在60年代就已萌芽的光栅图形学算法,迅速发展起来,区域填充、裁剪、消隐等基本图形概念、及其相应算法纷纷诞生,图形学进入了第一个兴盛的时期,并开始出现实用的CAD图形系统。又因为通用、与设备无关的图形软件的发展,图形软件功能的标准化问题被提了出来。1974年,美国国家标准化局(ANSI)在ACM SIGGRAPH的一个与“与机器无关的图形技术”的工作会议上,提出了制定有关标准的基本规则。此后ACM专门成立了一个图形标准化委员会,开始制定有关标准。该委员会于1977、1979年先后制定和修改了“核心图形系统”(Core Graphics System)。ISO随后又发布了计算机图形接口CGI(Computer Graphics Interface)、计算机图形元文件标准CGM(Computer Graphics Metafile)、计算机图形核心系统GKS(Graphics Kernel system)、面向程序员的层次交互图形标准 PHIGS(Programmer's Hierarchical Interactive Graphics Standard)等。这些标准的制定,为计算机图形学的推广、应用、资源信息共享,起到了重要作用。 70年代,计算机图形学另外两个重要进展是真实感图形学和实体造型技术的产生。1970年Bouknight提出了第一个光反射模型,1971年Gourand提出“漫反射模型+插值”的思想,被称为Gourand明暗处理。1975年Phong提出了著名的简单光照模型-Phong模型。这些可以算是真实感图形学最早的开创性工作。另外,从1973年开始,相继出现了英国剑桥大学CAD小组的Build系统、美国罗彻斯特大学的PADL-1系统等实体造型系统。 1980年Whitted提出了一个光透视模型-Whitted模型,并第一次给出光线跟踪算法的范例,实现Whitted模型;1984年,美国Cornell大学和日本广岛大学的学者分别将热辐射工程中的辐射度方法引入到计算机图形学中,用辐射度方法成功地模拟了理想漫反射表面间的多重漫反射效果;光线跟踪算法和辐射度算法的提出,标志着真实感图形的显示算法已逐渐成熟。从80年代中期以来,超大规模集成电路的发展,为图形学的飞速发展奠定了物质基础。 2.2 三维真实感图形虚拟技术的应用领域 伴随着三维真实感图形虚拟技术的不断成熟,其在现实中的应用也获得了巨大成功,所应用的领域也不断拓广,主要集中在以下几个领域[3]: (1) 可视化 科学技术的迅猛发展,数据量的与日俱增使得人们对数据的分析和处理变得越来越困难,人们难以从数据海洋中得到最有用的数据,找到数据的变化规律,提取数据最本质的特征。但是,如果能将这些数据用图形形式表示出来,常常会使问题迎刃而解。1986年,美国科学基金会(NSF)专门召开了一次研讨会,会上提出了“科学计算可视化(Visualization in Scientific Computing,简称为VISC)”。第二年,美国计算机成像专业委员会向NSF提交了“科学计算可视化的研究报告”后,VISC就迅速发展起来了。 目前科学计算可视化广泛应用于医学、流体力学、有限元分析、气象分析当中。尤其在医学领域,可视化有着广阔的发展前途。机械人和医学专家配合做远程手术是目前医学上很热门的课题,而这些技术的实现的基础则是可视化。可视化技术将医用CT扫描的数据转化为三维图像,并通过一定的技术生成在人体内漫游的图像,使得医生能够看到并准确地判别病人的体内的患处,然后通过碰撞检测一类的技术实现手术效果的反馈,帮助医生成功地完成手术。从目前的研究状况来看,这项技术还远未成熟,离实用还有一定的距离。主要原因是生成人体内漫游图像的三维体绘制技术还没有达到实时的程度,而且现在大多数体绘制技术是基于平行投影的,而漫游则需要真实感更强的透视投影技术,然而体绘制的透视投影技术到还没有很好地解决。另外在漫游当中还要根据CT图像区分出不同的体内组织,这项技术叫Segmentation。目前的Segmentation主要是靠人机交互来完成,远未达到自动实时的地步。 (2) 图形实时绘制与自然景物仿真 在计算机中重现真实世界场景的过程叫做真实感绘制。真实感绘制的主要任务是要模拟真实物体的物理属性,即物体的形状、光学性质、表面的纹理和粗糙程度,以及物体间的相对位置、遮挡关系等等。其中,光照和表面属性是最难模拟的。为了模拟光照,已有各种各样的光照模型。从简单到复杂排列分别是:简单光照模型、局部光照模型和整体光照模型。从绘制方法上看有模拟光的实际传播过程的光线跟踪法,也有模拟能量交换的辐射度方法。除了在计算机中实现逼真物理模型外,真实感绘制技术的另一个研究重点是加速算法,力求能在最短时间内绘制出最真实的场景。例如求交算法的加速、光线跟踪的加速等等,像包围体树、自适应八叉树都是著名的加速算法。实时的真实感绘制已经成为当前真实感绘制的研究热点,而当前真实感图形实时绘制的两个热点问题则是物体网格模型的面片简化和基于图像的绘制(IBR Image Based Rendering)。网格模型的面片简化,就是指对网格面片表示的模型,在一定的误差范围内,删除部分点、边、面,从而简化所绘制场景的复杂层度,加快图形绘制速度。IBR完全摒弃传统的先建模,然后确定光源的绘制方法,它直接从一系列已知的图像中生成未知视角的图像。这种方法省去了建立场景的几何模型和光照模型的过程,也不用进行如光线跟踪等极费时的计算。该方法尤其适用于野外极其复杂场景的生成和漫游。 另外,真实感绘制已经从最初绘制简单的室内场景发展到现在模拟野外自然景物,比如绘制山、水、云、树、火等等。人们提出了多种方法来绘制这些自然景物,比如绘制火和草的粒子系统(Particle System),基于生理模型的绘制植物的方法,绘制云的细胞自动机方法等。也出现了一些自然景物仿真绘制的综合平台,如德国Lintermann和Deussen的绘制植物的平台Xforg,以及清华大学自主开发的自然景物设计平台。 (3) 用户接口 用户接口是人们使用计算机的第一观感。一个友好的图形化的用户界面能够大大提高软件的易用性,在DOS时代,计算机的易用性很差,编写一个图形化的界面要费去大量的劳动,过去软件中有60%的程序是用来处理与用户接口有关的问题和功能的。进入80年代后,随着Xwindow标准的面世,苹果公司图形化操作系统的推出,特别是微软公司Windows操作系统的普及,标志着图形学已经全面融入计算机的方方面面。如今在任何一台普通计算机上都可以看到图形学在用户接口方面的应用。操作系统和应用软件中的图形、动画比比皆是,程序直观易用。很多软件几乎可以不看任何说明书,而根据它的图形、或动画界面的指示进行操作。 目前几个大的软件公司都在研究下一代用户界面,开发面向主流应用的自然、高效多通道的用户界面。研究多通道语义模型、多通道整合算法及其软件结构和界面范式是当前用户界面和接口方面研究的主流方向,而图形学在其中起主导作用。 2.3 虚拟现实在未来的展望 从当前的应用中我们可以看出虚拟现实技术在未来的发展趋势主要在以下几个方面[4]: (1) 娱乐 最能将CG发挥到极至的领域就是娱乐业。2世纪80年代初,卢卡斯用他的电影《星球大战》三部曲开辟了该领域的潮流。1995年,Pixar成为第一个只用计算机图形来完成整个影片《玩具总动员》的制片公司。 现在几乎好莱坞的每一部影片中都会用到计算机图形,如《朱罗纪公园》中的恐龙,《阿甘正传》中更惟妙惟肖的合成效果。随着该领域中科学研究进一步的发展,影片中看到的效果会变得更为普遍和逼真。 游戏公司用三维图形来制造CD-ROM和游戏盒以使其效果更好。即使教育游戏也试图用CG来达到寓教于乐的目的。 (2) 国防 五角大楼和国防部在3D图形研究上花费了大量的财力。它们投巨资开发飞行模拟器来训练飞行员的飞行,模拟战场情况并进行人员进攻和防卫训练。NASA也在最终实际发射火箭之前在计算机上进行大量的模拟和测试。 (3) 建筑和其他领域 建筑师将开始为要盖的大楼或建筑物设计3D模拟草案。这就使得他们未来的客户在最终同意设计方案之前能够看到设计结果。数年内,大多数的建筑商会建立一个VR环境。这样,用户就可以在建筑建成之前实际浏览他们所要的房屋。将CG和物体的结构结合起来将允许企业在开始昂贵的大规模生产之前,在计算机上模拟和测试其产品的性能。这个理念正在被企业用来制造各类产品,从洗发液瓶子的形状到设计一部汽车的精细模型,并完成其内部功能测试。 3. 三维真实感图形虚拟技术的相关算法 3.1光照模型和多边形绘制算法 当光照射到物体表面时,光线可能被吸收、反射和透射。被物体吸收的部分转化为热,反射、透射的光进入人的视觉系统,使我们能看见物体。为模拟这一现象,我们建立一些数学模型来替代复杂的物理模型,这些模型就称为明暗效应模型或者光照明模型。三维形体的图形经过消隐后,再进行明暗效应的处理,可以进一步提高图形的真实感。光照模型主要用于物体表面某点处的光强度的计算。面绘制算法是通过光照模型中 的光强度计算,来确定场景中物体表面的所有投影象素点的光强度。 3.1.1 光照模型 (1) 理想漫反射[2] 当光源来自一个方向时,漫反射光均匀向各方向传播,与视点无关,它是由表面的粗糙不平引起的,因而漫反射光的空间分布是均匀的。 在RGB颜色模型下,漫反射系数Kd有三个分量Kdr,Kdg,Kdb分别代表RGB三原色的漫反射系数,它们是反映物体的颜色的,通过调整它们,可以改变物体的颜色。同样,我们也可以把入射光强I设为三个分量Ir,Ig,Ib,通过这些分量的值来调整光源的颜色。 (2) 镜面反射光 对于理想镜面,反射光集中在一个方向,并遵守反射定律。对一般的光滑表面,反射光集中在一个范围内,且由反射定律决定的反射方向光强最大。因此,对于同一点来说,从不同位置所观察到的镜面反射光强是不同的。反射指数,反映了物体表面的光泽程度,一般为1~2000,数目越大物体表面越光滑。镜面反射光将会在反射方向附近形成很亮的光斑,称为高光现象。 镜面反射光产生的高光区域只反映光源的颜色,如在红光的照射下,一个物体的高光域是红光,镜面反射系数Ks是一个与物体的颜色无关的参数,正如我们前面已经提到的,在简单光照明模型中,我们只能通过改变物体的漫反射系数来控制物体的颜色。 (3) 环境光 环境光是指光源间接对物体的影响,是在物体和环境之间多次反射,最终达到平衡时的一种光。我们近似地认为同一环境下的环境光,其光强分布是均匀的,它在任何一个方向上的分布都相同。例如,透过厚厚云层的阳光就可以称为环境光。在简单光照明模型中,我们用一个常数来模拟环境光。 (4) Phong光照明模型 综合上面介绍的光反射作用的各个部分,Phong光照明模型有这样的一个表述:由物体表面上一点P反射到视点的光强I为环境光的反射光强Ie、理想漫反射光强Id、和镜面反射光Is的总和,即: 图3.1 Phone模型中的几何量示意图 3.1.2 多边形绘制算法 在Phong光照明模型中,由于光源和视点都被假定为无穷远,最后的光强计算公式就变为物体表面法向量的函数,这样对于当今流行的显示系统中用多边形表示的物体来说,它们中的每一个多边形由于法向一致,因而多边形内部的象素的颜色都是相同的,而且在不同方向的多边形邻接处,不仅有光强突变,而且还会产生马赫带效应,即人类视觉系统夸大具有不同常量光强的两个相邻区域之间的光强不连续性。 增量式光照明模型可以保证多边形之间的光滑过渡,使连续的多边形呈现匀称的光强。模型的基本思想是在每一个多边形的顶点处计算合适的光照明强度或参数,然后在各个多边形内部进行均匀插值,得到多边形的光滑颜色分布。它包含两个主要的算法:双线性光强插值和双线性法向插值,又被分别称为Gouraud明暗处理和Phong明暗处理。 (1) Gouraud双线性光强插值 Gouraud于1971年提出,又被称为Gouraud明暗处理,它的思想及具体步骤如下: 1.计算多边形顶点的平均法向。近似表示顶点法向量的方法为与顶点相邻的所有多边形法向量的均值,若顶点A相邻的多边形有k个,法向分别为N1,N2,...,Nk。我们取顶点A的法向为: Na = (N1+N2+…+Nk)。一般情况下,相邻多边形平均法向比较接近该多边形物体所逼近的曲面的切平面法向,这也是采用以上方法计算法向的一个重要原因。 2.用Phong光照明模型计算顶点的平均光强。在求出顶点A的法向Na后,我们可以用Phong光照明模型计算顶点处的光亮度。在Gouraud提出明暗处理方法时,Phong模型还没出现,因而所采用的是:I = IaKa+IpKd(L‧Na)/(r+k) 3.插值计算离散边上和内域中的各点光强。用多边形顶点的光强进行双线性插值,可以求出多边形上各点和内部点的光强。在这个算法步骤中,把线性插值与扫描线算法相互结合,同时还用增量算法实现各点光强的计算。算法首先由顶点的光强插值计算各边的光强,然后由各边的光强插值计算出多边形内部点的光强。采用增量式算法,新扫描线仅需一次加法即可计算得到新值,如图3.2所示: 图3.2 结合扫描线算法的光强差值 (2) Phong双线性法向插值 光强插值有以下优点:计算速度比以往的简单光照明模型有了很大的提高,同时解决了相邻多边形之间的颜色突变问题,产生的真实感图像颜色过渡均匀,图形显得非常光滑。但也有其缺点:镜面反射效果不太理想,相邻多边形边界处的马赫带效应不能完全消除。Phong提出的双线性法向插值可以部分解决上述的弊病,但是以牺牲计算时间为代价。法向插值将镜面反射引进到明暗处理中,解决了高光问题,与双线性光强插值相比,该方法有如下特点:保留双线性插值,对多边形边上的点和内部各点,采用增量法;顶点的法向量,用相邻的多边形的法向作平均;对顶点的法向量进行插值;由插值得到的法向,计算每个象素的光亮度;假定光源与视点均在无穷远处,光强只是法向量的函数。 双线性光强插值可以有效显示漫反射曲面,计算量小;双线性法向插值可以产生正确的高光区域,但计算量大。两个算法在增量式计算模型上存在着同样的缺陷,具体表现为:用这类模型得到的物体边缘轮廓是折线段而非光滑曲线;由于透视的原因,使等间距扫描线产生不均匀的效果;插值结果决定于插值方向,插值结果因插值方向而异。 3.2 光线跟踪算法 光线跟踪算法是真实感图形学中的主要算法之一[5]。1968年Apple A给出光线跟踪算法的描述,1979年Kay和Greenberg的研究考虑了光的折射,1980年Whitted提出了第一个整体光照明Whitted模型,并给出一般性光线跟踪算法的范例。 光线在物体之间的传播方式-由光源发出的光到达物体表面后,产生反射和折射。 由光源发出的光称为直接光,物体对直接光的反射或折射称为直接反射和直接折射,相对的,把物体表面间对光的反射和折射称为间接光,间接反射,间接折射。这是光线跟踪算法基础。 最基本的光线跟踪算法是跟踪镜面反射和折射。从光源发出的光遇到物体的表面,发生反射和折射,光就改变方向,沿着反射方向和折射方向继续前进,直到遇到新的物体光源发出光线,经反射与折射,只有很少部分可以进入人的眼睛。实际光线跟踪方向与光传播的方向相反。 提高光线跟踪算法处理复杂场景的速度,必须提高光线与景物求交测试效率。主要代表算法为层次包围算法和空间剖分算法。实现反走样和提高真实性主要代表算法有:分布式光线跟踪算法和锥光线跟踪算法. 随着虚拟现实和计算机动画技术的发展,复杂场景的实时绘制问题日益突出,如何使光线跟踪算法绘制的图形达到实时从而满足实时显示的需要成为人们关心的问题。 3.3 纹理映射 从根本上说,纹理是物体表面的细小结构,它可以是光滑表面的花纹、图案,是颜色纹理,这时的纹理一般都是二维图象纹理,当然它也有三维纹理,纹理还可以是粗糙的表面(如桔子表面的皱纹),它们被称为几何纹理,是基于物体表面的微观几何形状的表面纹理,一种最常用的几何纹理就是对物体表面的法向进行微小的扰动来表现物体表面的细节。 纹理映射是把我们得到的纹理映射到三维物体的表面的技术。对于纹理映射,我们需要考虑以下三个问题: (1) 考察简单光照明模型,我们需要了解,当物体上的什么属性被改变,就可产生纹理的效果。 通过分析上面的式子及结合我们前面的介绍,我们可以改变的物体属性有:漫反射系数(改变物体的颜色),或者,物体表面的法向量。通过这些变化,我们就可以得到纹理的效果。 (2) 在真实感图形学中,我们可以用如下的两种方法来定义纹理: 1.图象纹理:将二维纹理图案映射到三维物体表面,绘制物体表面上一点时,采用相应的纹理图案中相应点的颜色值。 2.函数纹理:用数学函数定义简单的二维纹理图案,如方格地毯。或用数学函数定义随机高度场,生成表面粗糙纹理即几何纹理。 (3) 在定义了纹理以后,我们还要处理如何对纹理进行映射的问题。对于二维图象纹理,就是如何建立纹理与三维物体之间的对应关系;而对于几何纹理,就是如何扰动法向量。 纹理一般定义在单位正方形区域(0≤u≤1,0≤u≤1)之上,称为纹理空间,理论上,定义在此空间上的任何函数可以作为纹理函数,而在实际上,往往采用一些特殊的函数,来模拟生活中常见的纹理。对于纹理空间的定义方法有许多种,下面是常用的几种: 用参数曲面的参数域作为纹理空间(二维);用辅助平面、圆柱、球定义纹理空间(二维);用三维直角坐标作为纹理空间(三维)。 3.4 消隐 消隐的对象是三维物体。三维体的表示主要有边界表示和CSG表示等。最简单的表示方式是用表面上的平面多边形表示。如物体的表面是曲面,则将曲面用多个平面多边形近似。 消隐结果与观察物体有关,也与视点有关。 按消隐对象可将消隐对象分为 :线消隐和面消隐。前者消隐对象是物体上的边,消除的是物体上不可见的边,后者消隐对象是物体上的面,消除的是物体上不可见的面。 Southerland根据消隐空间的不同,将消隐算法分为三类: 物体空间的消隐算法(光线投射、Roberts),将场景中每一个面与其他每个面比较,求出所有点、边、面遮挡关系;图像空间的消隐算法 (Z-buffer、扫描线、warnock),对屏幕上每个象素进行判断,决定哪个多边形在该象素可见;物体空间和图像空间的消隐算法 (画家算法),在物体空间中预先计算面的可见性优先级,再在图像空间中生成消隐图。下面对后两种算法举例介绍 3.4.1 画家算法 画家算法的原理是[6]:先把屏幕置成背景色,再把物体的各个面按其离视点的远近进行排序,离视点远者在表头,离视点近者在表尾,排序结果存在一张深度优先级表中。 然后按照从表头到表尾的顺序逐个绘制各个面。由于后显示的图形取代先显示的画面,而后显示的图形所代表的面离视点更近,所以由远及近的绘制各面,就相当于消除隐藏面。这与油画作家作画的过程类似,先画远景,再画中景,最后画近景。由于这个原因,该算法习惯上称为画家算法或列表优先算法。 下面给出了一种建立深度优先级表方法。先可根据每个多边形顶点z坐标的极小值Zmin的大小把多边形作一初步的排序。设Zmin最小的多边形为P,它暂时成为优先级最低的一个多边形。把多边形序列中其它多边形记为Q。现在先来确定P和其它多边形Q的关系。Zmin(P)<Zmin(Q)若Zmax(P)<Zmax(Q),则P肯定不能遮挡Q。如果对某一多边形Q有Zmax(P)>Zmax(Q),则必须作进一步的检查。这种检查分以下五项: 1.P和Q在oxy平面上投影的包围盒在x方向上不相交。 2.P和Q在oxy平面上投影的包围盒在y方向上不相交 。 3.P和Q在oxy平面上的投影不相交 。 4.P的各顶点均在Q的远离视点的一侧 。 5.Q的各顶点均在P的靠近视点的一侧 。 上面的五项只要有一项成立,P就不遮挡Q。如果所有测试失败,就必须对两个多边形在XY平面上的投影作求交运算。计算时不必具体求出重叠部分,在交点处进行深度比较,只要能判断出前后顺序即可。若遇到多边形相交或循环重叠的情况,还必须在相交处分割多边形,然后进行判断。 3.4.2 Z-Bufier算法及扫描线Z缓冲器算法 画家算法中,深度排序计算量大,而且排序后,还需再检查相邻的面,以确保在深度优先级表中前者在前,后者在后。若遇到多边形相交,或多边形循环重叠的情形,还 必须分割多边形。为了避免这些复杂的运算,人们发明了Z缓冲区(Z-Buffer)算法[5]。在这个算法里,不仅需要有帧缓存来存放每个象素的颜色值,还需要一个深度缓存来存放每个象素的深度值。 Z缓冲器中每个单元的值是对应象素点所反映对象的z坐标值。Z缓冲器中每个单元的初值取成z的极小值,帧缓冲器每个单元的初值可放对应背景颜色的值。图形消隐就是给帧缓冲器和Z缓冲器中相应单元填值的过程。在把显示对象的每个面上每一点的属性(颜色或灰度)值填入帧缓冲器相应单元前,要把这点的z坐标值和z缓冲器中相应单元的值进行比较。只有前者大于后者时才改变帧缓冲器的那一单元的值,同时z缓冲器中相应单元的值也要改成这点的z坐标值。如果这点的z坐标值小于z缓冲器中的值,则说明对应象素已经显示了对象上一个点的属性,该点要比考虑的点更接近观察点。对显示对象的每个面上的每个点都做了上述处理后,便可得到最后消隐图。 将Z缓冲器中每个单元的初始值置为-1; for每个像素 { 将其深度值与Z缓冲器中深度值作比较; 若大于Z缓冲器中的深度值 // 更靠近观察点 用它的颜色和深度替换像素原来的值; 否则不改变像素颜色值; // 当前多边形不可见 } Z-Bufier算法简单稳定,便于硬件实现,但需要一个额外的Z缓冲器且每个像素都要计算深度值,计算量大。为克服该缺点,可将绘图区分割成扫描线,就得到扫描线Z缓冲器算法: for 每个扫描行 { 将扫描线Z缓冲器中每个单元初始值置为-1; for 扫描行中每个像素 { 将其深度值与Z缓冲器中深度值作比较; 若大于Z缓冲器中的深度值 // 更靠近观察点 用它的颜色替换像素原来的颜色; 否则不改变像素颜色值; // 当前多边形不可见 } } 4. 系统设计思路 4.1面向对象的系统设计 本节主要阐述以面
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服