已阅读5页,还剩50页未读, 继续免费阅读
(计算机软件与理论专业论文)基于opengl的虚拟校园漫游系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明本声明 的法律责任由本人承担 论文作者签名: 关于学位论文使用授权的声明 本人同意学校保留或向国家有关部门或机构送交论文的印刷件 和电子版,允许论文被查阅和借阅;本人授权由东大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或其他复制手段保存论文和汇编本学位论文。 是否位于视景体中,如果位予视景体中,将渲染该物 1 3 山东大学硕士学位论文 体,否则将不渲染该物体。该模块的使用大大提升了渲染效率。 该模块功能实现方法:本模块主要是通过判断虚拟射像机的视柱体中的物 体的包装盒的八个顶点是否在视柱体四个面内的判断,来决定那些不在视柱体 内的物体不进行渲染。 1 0 2 d 模块设计 模块包括四个类:b i l l m a n a g e r 类( 定义一个广告管理器,保存一个广告 列表,添加广告的方法和查找方法) 、b i l l 类( 定义一个广告,是广告牌上的内 容) 、b i l l b o a r d 类( 定义一个广告牌) 、s u n 类( 定义一个包含光晕的太阳,并 对其进行渲染) 。 该模块主要实现了场景中所有的2 d 物体的渲染,使用了广告牌技术。太阳 使用了六张带有a l p h a 通道的图片,将根据判断场景中太阳和摄像机的角度关 系,实现剔除。 1 1 音效模块设计 模块包括两个类: 旺u s i c 类( 背景音乐、介绍音乐) 和s o u n d l i s t 类( 音 效列表,管理场景音效) 。 该模块包括音乐和音效两部分,音乐类主要是播放时间长的音频文件( 如: 背景音乐,场景介绍) ,音效类主要是实现了开门,关门等交互时的短音频的播 放。 2 4 虚拟校园漫游系统的运行流程 虚拟校园漫游系统运行流程图如图2 - 3 所示。 1 4 山东大学硕士学位论文 图2 - 3 系统运行流程图 2 5 虚拟漫游系统运行的软硬件环境 2 5 1 系统运行的软件环境 本系统采用高级编程语言c # 结合三维图形开发接口o p e n g l 软件包来进行 研究与开发的。场景中主要的建筑、道路等模型的建立使用了3 d sm a x 建模工 具,同时使用p h o t o s h o p 进行纹理贴图的处理。 1 选用的软件简介 1 5 国袭大学硕士学位论文 秣是微软公司发布的种面向对象的、运行在n e tc l r 之上的高级程序设 计语言。c # 从c 和c + + 语言演化而来,它吸取了以前的教训,考虑了其他语言 的许多优点,并解决了它们的问题。使用c 释开发应用程序比使用c + + 简单,因 为其语法比较简单。 作为开发可移植的交互式3 d 图形应用程序的首选环境,o p e n g l ( o p e n g r a p h i c s l i b r a r y ) 已经成为业界最广泛使用和受到最多支持的3 d 图形 应用程序接闪。从本质上说,它是一个j 常优秀的开放式、可独立于操作系统 和硬件环境的完全可移植并且执行速度很快的3 d 图形和建模库。其前身是s g i 公司的用于高端i r i s 图形工作站的3 d 编程a p i i r i sg l ,在跨平台移植过程 中发展丽成。o p e n g l 严格按照计算枧图形学原理设计丽成,符合光学和视觉原 理,可以创建极其逼真的3 d 图像晡1 。 o p e n g l 目前己成为三维图形开发标准,是从事三维图形开发工作的技术人 员必须掌握的工具。 2 o p e n g l 具备的主要特点: 工业标准:o p e n g l 体系结构审查委员会进行o p e n g l 的规范指导,业界 唯一真正开发的、跨平台的图形标准。 。 可靠度高:其应用可运行在支持o p e n g l 标准的任何硬件上,显示的视 觉效果一致。 灵活性:o p e n g l 有一套独特的图形处理标准,但各平台以及硬件开发商 可以自由地开发适合于各自系统的o p e n g l 执行程序。 o p e n g l 丞数逻辑性强:同其他图形库让入眩麓的代码量楣比,简单易用。 可伸缩性:基于o p e n g la p i 的图形应用程序可运彳亍在许多系统上,包 括各种消费电子设备、p c 机、正作站以及超级计算机。 可扩展性:作为低级的图形a p i ,在o p e n g l 核心技术援范的基础上,剥 用o p e n g l 的扩充机制支持硬件的各种新特征,可增强许多功能。 3 o p e n g l 的主要功能: o p e n g l 功能完善,糍够生成真彩的三维场景,从绘制任何篙单的3 d 物体 到交耳的动态场景,o p e n g l 都能高效、简便的完成。它具有以下功能: 现实世界里的任何物体都可以在计算机中用简单的点、线、多边形来描 述。o p e n g l 提供了基本的点、线和多边形绘制命令,还提供了体元绘制( 如: 1 6 山东大学硕士学位论文 球、碗等) 以及复杂曲线曲面( 如:b e z i e r 、n u r b s 等) 绘制函数,从而可以 方便的绘制物体。 物体都是经过基本图元并经过一系列变换来实现的,o p e n g l 提供了一系 列基本的变换,如取景变换、模型变换、投影变换及视口变换。 o p e n g l 有两种物体着色方式,即r g b a 颜色模式和颜色索引( c o l o r i n d e x ) ,通过它们进行着色。o p e n g l 提供了四种光:辐射光、环境光、漫反射 光和镜面光,方便地表示出光照效果。 o p e n g l 具有纹理映射功能,利用这一功能可以十分逼真地表达物体表面 细节,使三维图形、物体显得更生动。 o p e n g l 提供了一系列函数来实现位图和图像的操作,除了基本的拷贝和 像素读写外,还可以通过反走样、融合、雾化来增强图像效果。 o p e n g l 能实现深度暗示( d e p t hc u e ) 、运动模糊( m o t i o nb l u r ) 等特 效,以实现消隐算法。 o p e n g l 采用双缓存( d o u b l eb u f f e r i n g ) 技术,即前台缓存和后台缓存。 后台缓存负责计算场景、生成画面,前台缓存负责显示后台缓存画好的画面, 两个缓存可以同时工作,提高了图像的输出速度。 。 4 o p e n g l 纹理映射技术 在三维图形中,纹理映射( t e x t u r em a p p i n g ) 技术运用得很广,尤其是描 述具有真实感的物体。比如绘制一面砖墙,就可以用一幅真实的砖墙图像或照 片作为纹理贴到一个矩形上,这样,一面逼真的砖墙就画好了。纹理映射能够 保证在变换多边形时,多边形上的纹理图案也随之变化。例如,以透视投影方 式观察墙面时,离视点远的砖块的尺寸就会缩小,而离视点较近的就会大些。 此外,纹理映射也常常运用在其他一些领域,如飞行仿真中常把一大片植被的 图像映射到一些大多边形上用以表示地面。 纹理映射的关键是实现纹理与几何多边形顶点的三维空间坐标数据之间的 正确对应。纹理贴图的数学过程是十分复杂的,但o p e n g l 己对其进行了处理, 使编程者可以利用几个函数就可以完成纹理贴图。纹理影射的具体实现如下嘲: ( 1 ) 定义纹理。纹理有二维、一维或三维的,可以根据应用程序的需要 对纹理进行选择。在图像处理中,常常采用的是二维纹理。函数g l t e x i m a g e 2 d 0 定义二维纹理贴图,该函数说明所映射的纹理内容、其中包括纹理数据的指针、 1 7 潮衷大攀硕士学位论文 纹理的大小、纹理的类别灰发或彩色) 等。 ( 2 ) 纹理控制。说明纹理图像的纹理以何种方式映射到三维模型表露上。 o p e n g l 通过g l t e x p a r a m e t e r ( i 函数来解决这种映射闯题,o p e n g l 提供了多种 映射方式,其中包括纹理滤波、重复与缩限等。 ( 3 ) 说明纹理映射方式。在进行纹理贴图时,纹理图像可以作为最终的 颜色赢接粘贴到物体的表面上,从而覆盖原来的颜色;也可以用纹理来调整物 体的颜色或颜色比例,该技术对光照帮纹理的综合效果是非常有孀靛;也可以 和物体的原有颜色进行融合。融含是种重要的图像处理技术,主要用于透明 纹理处理。o p e n g l 用于纹理贴圈方式豹瑟数为g l t e x e n v0 。 4 ) 激活纹理映射。在绘制场景之羲需要激活纹理映射。激活或取瀵纹 理映射的函数g l e n a b l e ( ) 或g l d i s a b l e 0 ,其参数可以为g l _ t e x t u r e _ 1 d ,- g l _ e x t u r e _ 2 d 或g l _ t e x t u r e _ 3 d ,分别代表一维、= 维或三维的绞理图。 ( 5 ) 利用纹理坐标鞠几何坐标绘制场景几何坐标决定了顶点在屏幕上的 绘制位置,纹理坐标决定纹理图像中哪一个纹素( 纹理图像的像素) 赋予该顶 点,其调用蘧数尧g l t e x c o o r d0 。 5 o p e n g l - f 作流程及三维图像的生成过援。 o p e n g l 作为图影硬件的软件接口,最主要的工作就是将二维及三维物体描 绘至帧缓存。这些物体鸯一系列的攒述物体见侮牲葳的顶点( v e r t e x ) 或接述 图像的像素( p i x e l ) 组成。o p e n g l 执褥一系列的操作把这些数据最终转化成 像素数据并在帧缓存中形成最后的结果。o p e n g l 可以在具有不同圈形能力和性 簏酶鬻形工作站平螽及微机上运行。o p e n g l 鹩工作流程强如蓬2 q 所示。 1 8 幽2 - 4 0 粥n o l 工作流程 山东大学硕士学位论文 由于o p e n g l 的几何图元是由顶点描述的,这样可以便于逐点操作并按其数 据装配成基元,然后经光栅化形成基片。图像像素数据的处理包括像素、位图、 影像等,它们经过像素操作后直接进入光栅化阶段。对于像素数据,其结果还 可以存储在纹理用的内存中,然后从纹理内存中取出像素信息进行光栅化。 o p e n g l 绘制过程中,部分过程的含义如下: 显示列表:事实上是一组函数,它们被存储以使o p e n g l 在后继时间内 能够处理。 评价器:是许多特殊的函数,这些函数允许采用一个或两个变量的多项 式映射来产生顶点坐标、法线坐标、纹理坐标及颜色,生成结果传递给执行管 道( p i p e l i n e ) 。 光栅化:包含几何和物理映射两部分。几何操作是将图元转化成二维图 像;物理操作是计算图像每个点的颜色和深度等信息。光栅化一个图元由两部 分组成:第一部分是决定窗口坐标中一个整数栅格的哪些方块由图元占有;第 二部分是为每个这样的方块计算它们的颜色值和深度值。计算结果将被传递到 o p e n g l 下一个过程,并用此信息更新帧缓存器中的适当单元。 基于o p e n g l 构造三维景观模拟场景的基本步骤如下: 一 ( 1 ) 数据准备与预处理。用于构造物体三维景观的数据包括几何数据和 纹理数据。几何数据预处理包括d e m 数据的改正、建筑物几何数据的检测等。 纹理数据预处理包括影像质量改善、纹理图像格式转化等。 ( 2 ) 设置像素格式。无论进入o p e n g l 的是何种数据,o p e n g l 最终都将进 行像素操作,即把像素写到帧存上去。像素格式告诉o p e n g l 如何操纵这些像素, 如绘制风格、颜色数据的位数、深度缓存的位数、模板缓存的位数等信息的设 置。 ( 3 ) 建立模型。o p e n g l 把点、线、多边形、图像和位图都作为基本的图 形单元,根据基本图元建立景观的三维模型,并对所建立的模型进行数学描述。 ( 4 ) 舞台处理。把景观模型放在三维空间中合适的位置,设置三维透视 体以观察场景。 ( 5 ) 效果处理。赋予物体模型材质( 颜色、光照及纹理等) 以增强场景 的真实感。 ( 6 ) 光栅化。把景物模型的数学描述及其材质信息转换至计算机屏幕上 1 9 啦寒大学硕士掌位论文 的像素信息。 虚拟校园建模数据量较大,利用o p e n g l 建立复杂的物体模型是一件比较麻 烦的事情,因为o p e n g l 只提供了基本的点、线、面等图元的绘制,对规模相对 较大的建模不能提供足够的支持。专篇的建模工具很多,考虑到使用习惯及建 模效率,文本采用3 d sm a x 建模。3 d 模型数据是在一个结构体中定义的,主要 用于将3 d s 文件中读出的数据保存在模型中,这些数据在o p e n g l 环境下可以进 行重绘,从而免去了直接用o p e n g l 绘制复杂三维模型这一烦杂的工作。对于纹 理的处理还用到了图像处理软件p h o t o s b o p 。 豳于o p e n g l 窗口管理及人机交互功能相对薄弱,而这正是c 棼的专长,因 此本系统在w i n d o w s 操作系统下,以c = 作为开发平台,利用o p e n g l 进行三维 图形编程实现,这正使它们各尽所长,取得了良好的试验效果。 2 5 2 系统运行的硬件环境 康拟现实技术是一种典型的对时间性要求很高的限时计算与限时图形绘制 技术的应用,失去实时性的虚拟现实系统就失去了其所应具有的交互性和沉浸 性的特征。为了达到具有一定帧速和帧频的较为真实的虚拟,对计算机硬件的 要求十分苛刻,一般应具有高端显示卡、高端显示器、高速硬盘、高速c p u 、 大内存等,尤其是显卡和内存要求很高。但是随着计算概技术的不断发展,原 来遥不可及的虚拟现实技术现在在普通的p c 上即可实现。本系统的硬件配置如 下: c p u :i n t e l p e n t 主t l 晦 显卡:i n t e l8 2 8 5 2 8 2 8 5 5g m 集成显卡 内存;5 1 2 m ( 推荐i g ) 2 。6 本章小结 本章分析了虚拟校园漫游系统的设计基标和开发方案,对系统所需完成的 功能模块进行了简要的概述,并画出了系统的功能图和系统的运行流程图,最 后,介绍了系统需要的软、硬件平台,并分析了o p e n g l 的主要特点、功能、工 作流程及三维图像的生成过程以及纹理映射技术,为系统的实现做好必要的准 备。 山东大学硕士学位论文 第3 章虚拟校园三维场景模型的构建 构造一个三维虚拟校园系统的主要工作之一是运用三维场景建模技术在计 算机中生成逼真、等同现实世界的虚拟世界。三维场景模型构造在整个系统中 占有非常重要的地位。随着对虚拟现实场景中三维模型逼真度要求的不断提高, 选择合适的建模工具以及掌握必要的三维模型生成技术将有助于虚拟环境的建 立。 本章研究了虚拟场景构建的关键技术,实现了虚拟校园场景的创建。 3 1 虚拟场景建模技术 虚拟现实场景中的模型是实际的或想象中的物体或现实的形状再现,建立 造型模型是构造虚拟现实场景的基础,模型构造的质量直接影响到虚拟场景的 真实感和沉浸感,因此需要根据对象的特点选取不同的建模方法。目前,虚拟 现实建模技术主要可以采用三种方式:第一种方式是基于计算机图形学的三维 几何建模( g e o m e t r y b a s e dm o d e li n g ,简称g b m ) 技术,第二种方式是基于图 像的建模( i m a g e - b a s e dm o d e l i n g ,简称i b m ) 技术,第三种方式是基于几何和 图像的混合建模( g e o m e t r y & i m a g e - b a s e dm o d e li n g ) 技术隅1 3 1 1 几何建模技术( 钿a m t r y - b a s e dm o d ei n z ) 基于几何模型的虚拟建模技术,又称为基于计算机图形学的三维几何建模 技术,是用数学意义上的曲线、曲面等数学模型预先定义好虚拟场景的几何轮 廓,构造虚拟的三维景观中的模型,它是一种传统的构造二维虚拟场景的方法。 几何建模技术以计算机图形学为基础,首先对真实场景进行抽象,利用现有的 三维造型软件,用多边形对虚拟实体( 建筑、树木等) 和虚拟环境( 地形,天 空) 的外观进行建模睁1 。使用的三维造型软件一般采用图形化用户界面,隐藏 了三维实体底层表达形式,以及光照、消隐、纹理等提高真实感的复杂实现过 程,使用户在设计过程中就可以从视觉直观地观察物体的具体形状。 几何建模建立虚拟场景时建模繁琐,绘制速度和质量与场景的复杂度有关, 需专门昂贵的硬件配置。通过几何建模建立的虚拟场景,随着环境的复杂度的 增加,会难以满足虚拟现实所要求的实时性,而且在浏览虚拟场景的过程中容 2 1 山东大学硕士学位论文 爨出域薅蔼抖动璐象。避过a 侮建模来建立虚羧氆界孛豹虚撅对象戆方法逶常 适台予场景复杂度不大,需要实现用户和场景中虚拟对象进行交互的情况,例 如零件设计和装配的实现。 尼何建模技术具有以下优点: ( 套) 几何建模的虚拟景观大多具肖参数精确的儿何模型,因此对应的场最 就显得院较细腻帮宾实。 ( 2 ) 模型具有霹操作性,便于焉户与三维场景中虚拟摸墅的交蔓,同时在 进行碰撞检测时也比较容易控制。 ( 3 ) 即使在规划设计阶段,只要有相关的建筑图纸,按照对应沈例与尺寸, 一样靛够完成实体的构建,邸畿够实现寝物实化。 ( 4 ) 基于几何建模的应用时间较长,技术也比较成熟,国内外很多商家 都摧出了许多功麓非常强大豹建模及控制集成软件产品,利用这些工其软件使 褥基予足何建模的方法实际应潮比较广泛。 几何建模技术存在的不足: ( 重) 对于复杂场景,建模忑程工作量缀大,毙较费时费力,也增加了系统 开发的成本。 ( 2 ) 模型做的越真实细致,其三维模型对应的点、线、面等参数也将非常 庞大,就需簧设计入员在模型真实性和实对显示效率傲选择和处理。 , ( 3 ) 扩展性燕。模型一旦建立就基本固定下来,他人很难如需进行改动或 者扩展。 4 三维场景实对渲染绘铡对计算祝软硬件要求较赢,它麴阴影鞠纹理褥 通过配以图形加速性能的专用硬件才能绘制出来。 3 i 2 基于图像的建模技术( i m a r i e - b a s e dm o d e ii n g ) 基于图像的建模技术( 简称图像法) 不依赖于三维几何模型,是利用照相机 采集的离教鞫像或摄像视采集的连续视频霈先摹础瓷料,经过躅像处程生成全 景匿像,并对其进行空闼关联建立起的具有空闻操纵能力的虚拟环境“雌。 该技术幕于一些预置的图像( 或环境映照) 来生成不阀视点处的场景画筒。 霾凡何建模、传统绘韵技术相耽,其主要优势在于n : ( 圭) 遐形绘制的计算量不取决于场景复杂性,两主要与所需生成谶面的分 山东大学硕士学位论文 辨率有关。 ( 2 ) 预先存储的图像( 或环境映照) 既可以是计算机合成的,也可以是实 际拍摄的照片,而且两者可以混合使用,从而获取很高的真实感。 ( 3 ) 对计算机的资源要求不高,因而可以在普通工作站和个人计算机上实 现复杂场景的实时漫游。 创建基于图像的虚拟现实场景可按照以下步骤进行: ( 1 ) 获取模型数据。实际上是一个“实物虚化 的过程。它的基本原理是 利用摄像或扫描的手段来创建虚拟环境中的事件和对象。原始图像信息一般通 过以下三个途径获得:计算机绘制,用全景照相机拍摄,用普通数码相机拍出 一系列相互重叠的照片。 ( 2 ) 图像的插补与整合。插补就是利用已知视点的照片,通过插值计算获 得另一视点的照片。整合就是将同一视点不同视角下的照片拼接起来,它要求 两幅图像具有一定比例的区域重合。拼接的关键在于找到相邻图像的重合部分, 常用手工定位( 通过拖动鼠标来实现) 、自动拼接( 是建立在重合区域光强差值 为零的原理基础上的) 这两种方法实现重合部分的定位。 ( 3 ) 调度与重投影。从计算机储存的一系列全景图中寻找与当前视点相对 应的存储视点和全景图,并将沿当前观察方向可以看到的那一部分全景图像送 到缓冲区,最后调用重投影模块将其投影到中间平面以便于观察。 对于基于图像的虚拟场景建模方法,其基础资料不是通过几何建模生成的 图形,而是来源于相机或摄像机拍摄的照片图像,其处理的焦点图像的变换。 由于图像通常是按照一定的要求拍摄的,并且按照一定的规律组合成虚拟场景。 因此,这些图像密切联系在一起,它们的处理也和一般的图像处理有很大的不 同,存在的问题如下: ( 1 ) 图像资料仅代表了真实世界的各个局部信息,所有的图像加在一起构 成了整个场景。由于每个局部信息代表了现实世界在一定时间和空间时的真实 图像,所以处理时必须考虑到图像之间的空间和时间的关系。 ( 2 ) 图像间的关系复杂,不能将场景漫游简单地处理为依次显示图像,它 的处理要相对复杂的多。 ( 3 ) 每个局部图像加在一起理论上包括了真实空间的所有信息,但是并不 能满足漫游的需要,因为人的漫游区域和漫游时问的随意性很大,不会仅限于 山东大学硕士学位论文 所拍摄阿局部场景。所以对于未拍摄位置的场景,需要对己有的图像进行图像 变换、图像插值等处理,得到所要求的时间和空间的局部场景,并实时绘制出 来才能达到漫游的效果。 3 1 3 基于几何和图像的混合虚拟场景建模技术 使用几何建模可以方便地建立以任意角度进行观察的3 d 空间,但计算量 大,对硬件要求较高,对复杂模型的建模过程较为困难。使用图像建模方法创 建虚拟场景,可以方便实现实时建模,开发成本低,计算量小且效果逼真,但 是需要的资料量较大。将几何建模技术与基于图像的建模技术结合起来,在应 用中做到扬长避短,就可以最大限度的发挥这两种技术各自的优点,取得非常 理想的效果。 使用混合建模技术建立虚拟三维空间时,对于需要用户进行实时操作的虚 拟对象利用几何建模技术进行实体建模,也就是对虚拟环境中用户要与之交互 的对象进行实体构建,以克服图像交互性不强的问题网,这样既增加了场景真 实感,又能保证实时性与交互性,提高用户的沉浸感。对于不需要操作的实体, 通过基于图像建模技术来建立虚拟环境,这主要利用了反映真实场景的高质量 的图像,在无须复杂建模的情况下取得最真实的感官效果。 混合建模虽然具有各种优点,但在实现过程中也存在很多技术上的困难, 主要表现在以下三点: ( 1 ) 虚拟实体对象( 即实体模型) 与纯粹虚对象( 即二维图像中的对象) 之间在虚拟世界坐标系中的坐标位置、摆设方向上要精确匹配。 ( 2 ) 虚拟实体对象几何模型,在虚拟光源照射下所产生的实体亮度、阴影 强度及方向与纯粹虚对象的亮度、阴影强度和方向也要准确匹配。 ( 3 ) 虚实无缝连接还要满足实时交互性,即随着用户视角、位置的改变要 能立即生成新的视点图像,而且对实体对象的操作要能立即得到反馈。 虚拟环境建模技术是虚拟现实技术的研究重点,构造真实感强、逼真度高、 实时性强的虚拟场景是虚拟现实建模的理想要求。因此,在虚拟校园系统的模 型构建中,采用混合建模技术作为三维场景模型建立的最主要的建模方法。 山东大学硕士学位论文 3 2 虚拟校园场景模型的建立 3 2 1 虚拟校园场景数据信息的获取 三维模型的建立就好像建筑工地施工一样,必须获得必要的数据。构建虚 拟校园主要需要两种数据,三维空间数据和地面影像数据,具体包括校园内的 所有建筑物的平面和高度数据、纹理数据、d e m 数据n 幻等。 对于地形一般采用最常用的方法是数字摄影测量方法,通过影像匹配自动 生成数字高程模型,然后转化成d e m 格式。 对三维空间数据可以采用现成的建筑c a d 图纸资料,也可以对建筑物采用 拍照的方法产生图纸信息,然后按比例生成真实的数据。本文使用的原始数据 主要有办公楼、实训楼、宿舍楼、食堂等建筑设计图纸、地形图文件、校园规 划的工程图纸文件和部分实物照片。为保证虚拟校园系统的真实显示和空间分 析的正确进行,本课题采用的数据采集方案如下。 ( 1 ) 采用数字化的方法从平面图上获取地理坐标。 ( 2 ) 通过建筑设计图纸获取各个建筑物的高度。对建筑物的三维几何特征 数据( 如屋顶形状等) ,可以通过建筑设计图纸进行提取。如果对屋顶的三维建 模技术要求不高,可利用已有地图扫描数字化的矢量数据。如果获取的矢量数 据只是二维的,房屋的高度需要根据楼层数推算。 对于纹理数据,可以用某些地表特征实体的纹理及简单映射几何模型等。 先用数码相机进行拍照,然后传入计算机,运用p h o t o s h o p 软件进行斜切、扭 曲等调整及切割原始图像、调整对比度、部分颜色填充的改动等纠正处理后, 以j p g 、t g a 等格式存储,作为模型的贴图库。对于透明贴图用图像处理软件处 理后增加a l p h a 通道处理为透明贴图后得到,也可以从其它资源获取现场拍摄 不到的建筑或校园景观的贴图,主要存储为具有透明属性的t g a 等格式。 获得虚拟校园的建模数据后,即可以根据这些数据构建虚拟校园楼群建筑 模型以及地形模型等。 3 2 2 虚拟校园模型构建 虚拟校园系统中的地理对象按空间分布特性分为两类:一类是以场景为基 础,在空间上连续分布的地形景观对象,如地形;另一类是以离散实体为特性, 山衷大攀硕士攀位论文 量嘲i i h ip ll l l i i i i li l l lr, i i i i 量鼍意黑鼍量皇篁| 鼍 以独立的个体面存在懿遣物对蒙,懿建筑耪、栲本、路灯等。 对虚拟校园模型进行分类以后,虚拟校园的三维模型构建流程描述如图 3 - 1 魏霉所示: 图3 - l 纛拟校园模蛰构建流程 , 在建摸过程孛,应该壤据不霾的攀物区剃对待。盎擞校匿环境孛酌遮耪对 象有建筑物、花瞪、路烀、树和宣传栏等,这些对象因其不同的结构特点焉采 取不同的方式来构建其虚拟模裂。对于箱体式建筑物,可以将它们看作由顶筒 和各个铅垂墙瑟组成,兔增翔模拟的真实性,在各个面上映射麸现实世赛果集 的纹理。面对于树木等从任何角度看都大致棚同的物体,可以用两个相互垂童 的平面,映射相同的纹理来实现。对予复杂结构地物对象,必须采用多细节层 次( l e v e l so fd e t a i l ,毛) 技术进行多层次处理和表达。树本、路灯等对象 在虚拟场景中大量存在并且形状大致相同,对这类对象,为节省存储空间,可 以只建立其一个虚拟模型,然聪迸行寅例化处理。地物对象三维模型建立后, 根据其在臻实校园中的地理位置坐标、实际方位帮纹理结梅等,将其匹配到虚 拟地影对象上,建立可构成虚拟校园环境的三维地理对象模型库。 在众多的三维模型设计软件中,对于多数普通用户来说,a u t o d e s k 公司推 出3 ds t u d i om a x ( 3 d sm a x ) 是一个理想鲶三维模型设计软件。3 d sm a x 噬全 新的w i n d o w s 界面及更强大的功能展示给用户,用3 d sm a x 来设计产晶模型的 感觉就像是雕塑家和魔术师,复杂的模型几乎是在瞬闯就奇迹般地建立起来, 用3 d sm a x 修改锇建的模型也是报轻松鲍事。3 d sm a x 具有出色的纹理贴图控 制功能,各种空间扭曲和变形,都提供了对图像和环境映照的容易的处理途径。 盘东大学硕士学位论文 _ li l l li i , 麓皇喜量簟| 岛薯鲁量鼍燃皇量量鲁量黑鼍皇| 篡鲁量舅鼍舅嬲皇量量喜鼍簟| 鼍黛皇量皇鲁曩 比如,柱面全景图是先生成一个圆柱,然爱控制各个方向的条状图像沿着圆柱 面进行贴图即可,而且可以将图像拼接的过程编制成s c r i p t 文件做成插件嵌入 3 d sm a x 环境中,可以容易地生成全景图并且预先观察在虚拟现实系统中漫游 的效果,这需要逶过在v i d e op o s t 设置摄像机的运行轨迹。 3 2 。3 地形的几何建模 地形模型在虚拟环境中分量很大,它对漫游的真实性和系统运行的实时性 有重要影响。地形对象模型是虚拟校园模型系统的基础,是布置地物对象模型 的依据。地形对象三维模型的建立是开发虚羧校园必不可少的一个关键环节, 对其它虚拟系统同样如此。 三维真实感地形的绘制直是国内外图形学领域关注的热点,其可视化程 度离、实用方便、可实时生成的优点已成为图形工作者的共识。三维地形模型 也称为数字地面模型( d i g i t a lt e r r a i nm o d e l ,d t m ) ,它是对地面特征的一种 数字表达,是虚拟地理环境研究中的重要组成部分。d t m 是在空间数据库中存 储并管理的空闻地形数据集合的统称,是带有空闻位置特征和地形属性特征的 数字描述,是建立不同层次的资源与环境信息系统不可缺少的组成部分。d t m 通常有等高线、规则格网( r s g ) 和不规则三角鸸( t i n ) 三种不同的表示方法。 如果在可视亿过程中对地形的生成只是视觉上的要求,丽菲真实世界的再 现,则可以采用模拟地形,可采用随机生成地形高程数据的方法或用分形的方 法生成地形。不管模拟哪种地形,通常都是采用经纬度线构成的规格化网格体 逼近的方法,关键技术在于获取网格点的有关参数,即经纬度、高程和颜色等 数据,经纬度是自变量,而高程值和颜色则是经纬度的函数。真实地形的赫程 值通常通过航拍图片或卫星图片获取,丽模拟地形的高程值则可采粥随机生成 的方法。对大规模地形的模拟,通常采用层次细节简化l o d ( l e v e lo fd e t a il s ) 的方法,来达到场景实时绘制的要求n 4 1 。 由予本漫游系统选择了山东电子职业技术学院,其校园地形的数据不太复 杂,故采用的是模拟地形法,即平丽模拟地形。以6 4x6 4 大小的网格为单元, 构造实际所需大小的模拟地形网格,然后在每个单元网格上映射真实地形的纹 理,这种办法实现起来相对比较简单,丽盛对系统资源的消耗要少褥多。 蠢东大学硕士擘位论文 皇崮麟_ l 意墨鼍曩量一i 一 一一一一i i i i i 糍置| 黑一 3 。2 。4 天空的建模 为了增加三维虚拟校园场景的真实感,需要为校园场景增加蓝天自云效果 的天空。根据用户所需要的真实程度,可以采用多种方法来实现: 1 用- 种接近天空的淡蓝色来清除背景。该方法简单,但是天空效果看起 来太平蘧化,并且很粗糙,真实感比较差。 2 天空盒方法 所谓天空盒就是用一矩形方盒作为天空的远景贴图的载体。首先生成一个 足够大的立方体,通过在立方体盒子的5 个不同愿上贴上表现天气效果的不同 的天空纹理来达到逼真的模拟效果。用于天空背景的图片有特殊要求,这些图 片必须满足以下几个条件: ( 1 ) 图形必须是b m p 位图格式的,而且尺寸必须为2 的n 次方( 3 2 、6 4 、 1 2 8 、2 5 6 ) 。 ( 2 ) 顼图酶隧边必须与前磊左右圈的上边相连。 ( 3 ) 前后左右的四幅图必须首尾相连。 3 球形方法 球形较天空盒优点更多,由于球形方法绘制的天空具有更多的优点,雾纯 效果可以绘制得更加均匀。球形模型实际就是一个半球面,一个圆顶形天空可 以认为是一个球面的一半,在一个球面上进行纹理映射是比较复杂的,采用不 同的映射方式会出现不同的闻题。例皴,如果采用平瑟映射的方式,将在连接 处出现纹理拉伸现象。如果采用球面映射,最大的闯题是在球面的极点产生纹 理的聚集现象嘲。 在虚拟校园漫游系统中,从真实感和渲染效率两个方面出发,本文选用了 立方体天空盒生成天空。 3 2 5 建筑物模型的建立 1 建筑物几何模型的建立 建筑物是虚拟现实中的主要景观,在痘拟校匿系统中,三维建筑物的表示 和建模是最为重要的内容。由于建筑物的数目很多,为了较好地实现对楼群建 筑的建模任务,可以根据实际情况确定其设计原则: ( 1 ) 由予本系统虚拟的是一个实际存在的校园,为了取得较真实的效果, 山东大学硕士学位论文 现实存在的建筑在虚拟环境中尽量都进行建模。 ( 2 ) 根据校内建筑的外观与结构对建筑进行分类,确定构造模型,对外观 和结构相同的建筑采用同一个构造模型。 ( 3 ) 对于较复杂的模型采用新拆分,使之简单化,然后再进行建模。 目前对建筑物的建模一般采用整体法,即画一个立方体或长方体,然后再 对表面进行纹理映射,构造建筑物模型。 对于建筑物而言,其几何建模可以由墙面和顶部组成。墙面可通过画面或线 段的方法,很容易实现。对于建筑物的顶部,可以由所有顶点坐标生成,由于在 实际建模过程中各建筑的顶部形状各不相同,因此对于建筑物的项部构建而言, 采用一个通用模型来表达各类建筑物顶部显然是不可行的。但是,根据按一定规 则排列的三维坐标数据可以推演出对应的专题信息。这就要求将建筑物按照其顶 部几何外形特征进行分类,分别对每一类建筑物采用一种几何数据模型。 2 建筑物的纹理映射 建筑物并不是一个空白的面,一般的建筑物上都有窗户,贴有各式各样的 瓷砖。目前对于建筑物窗户的建模一般采用线段来构造,及描绘出窗口的大概 框架,然后进行渲染。由于校内的建筑物特别多,如果要一一进行建模,会花 费大量的时间,而且影响了系统的运行速度。所以,在本系统中对房屋表面的 窗户和花纹都采用纹理映射的方法进行建模。其实现方法是:将校内每个建筑 各个面的纹理数据进行采集、加工、转换成纹理映射要求的图像格式,之后在 画面绘制的过程中,分别对每个面进行纹理映射。图3 2 是纹理映射后的部分 校园景观图。 图3 - 2 纹理映射后的部分校园景观图 山东大学硕士学位论文 3 2 6 树木的建模 在虚拟场景中,树木的添加极大地改善了场景的逼真程度和真实感,场景 中的绿色树木越多,视觉感观效果越好。虚拟校园系统中一些景观植物、装饰 器物均采用3 dm a x 进行3 d 素材的设计,制作树木场景最为复杂。主要是因为 树木本身结构复杂、制作时间长、系统开销增大。所以,树木作为自然场景的 重要构成因素,一直是虚拟环境中非常重要的研究对象。如果将树分解成大量 的小段,每一段用基本几何体来近似,这样得到的树木场景模型的多边形数将 达到一个极高的数量级,这显然是不可取的,而且对于实时响应要求也是不合 理的。所以,想通过详细建模的方法来表示大量的树木是很难的。利用纹理映 射来实现树木的简单表示是可取的捷径。有几种表示方法:粒子分形法和利用 纹理来表示的方法、十字交叉法和公告牌( b ill b o a r d ) 法等。下面主要介绍用 到的十字交叉法和b i ll b o a r d 法。 1 十字交叉法 十字交叉法是用两个十字交叉面来构造树的模型的方法。在两个互相垂直 的平面,分别映射相同的树的纹理,利用人的视觉差异,感觉上是在不同的角 度总可以看到相同树的图像,如图3 3 所示。此方法计算量大大减少,显示速 度较快。 纹川。巧tl i p ;q 图3 - 3 十字交叉法构建树的模型 十字交叉法的不足之处表现在,首先阴影效果不好。计算阴影时,交叉的 两个面必然存在一个面挡住另一个面,使之处于阴影之中的情况。因此,这种 模型在计算完阴影后看上去光照十分不均匀。其次,一棵树的包围盒太大,每 个面的尺寸都是树的最高处的高度乘以树的最宽处的宽度。因此,当较窄的路 山东大学硕士学位论文 两边都有树时,漫游中会出现被挡住的现象。 2 公告牌( b i l l b o a r d ) 技术 公告牌技术是采用多边形面模拟,当视点改变时,此多边形会绕指定的轴 旋转从而保证始终面向着视点。只要时刻保持二维纹理树林图像的法线矢量指 向观察者,就可以形成非常真实的三维景观,从不同的角度观察均可获得树木 的较为完整的图像。 采用公告牌技术获取视觉效果较好的树木景观时,由于视点改变时要旋转, 而实体的旋转变换是一个矩阵相乘运算,因此运算量大,且实体每做一次旋转 就必须重新进行一次消隐面和阴影计算,这两者的计算量都很大。所以在场景 中放置大量的树木时,会因计算量太大而影响实时响应的速度。 本系统在建立树木景观时,对以上两种方法进行了综合使用,对于远处的 树用十字交叉法,对近处的树采用b i l l b o a r d 法,这种实现思路体现出细节层 次技术( l o d ) 的原理。虚拟校园中树木景观如图3 - 4 所示。 图3 - 4 树木景观 3 3 虚拟校园场景模型的优化 对虚拟校园场景模型的优化主要包括以下几个方面。 3 3 1 结构调整 在建立这个庞大的场景模型之前,应该根据虚拟场景中每个实体的几何空 间位置,以及模型之间和模型内部的结构关系,确定虚拟场景中所有实体模型 的层次结构。对场景进行层次结构划分后,可以方便场景建模的分工和实体模 3 l 国东大学硕士掌位论文 型的缀织和管理,明确模型构建露标,大大减轻建模的工作量。即使是最简单 的模型也需要调整模型的层次结构,来达到优化的目的n 8 m 钉。 调整层次结构视图( h i e r a r c h y v i e w ) 的原则是: 薹建立有层次结构的文彳牛。一个物体可能壶多个形体梅成,不要把每个形 体( o b j e c t ) 都放入其自身的组节点( g r o u p ) 中,但一定规模的物体的各形体应归 并在一起,放在一个共同的组节点之下。对于有层次结构的文件,执行效率要 比没有层次结构的文件高。 2 视觉上相邻的形体在层次结构上也应该相邻。同一等级的数据节点依次 从左至右排列,当节点存在而物体不可见时,调整显示节点位置。 3 尽量避免创建在空间上跨度较大的物体。虽然只有落在视野内的部分物 体才会画出,尽管只看见部分物体,但是必须要对空间跨度大的物体进行计算。 3 3 2 消隐处理 从一个视点去观察一个三维物体,只能看到该物体表面上的部分点、线、 面,丽其余部分剥被这些可见部分遮接住。如果想真实地显示三维物体,必须 在视点确定之后,将对象表面上不可见的点、线、面消去,称为消隐算法。 常见消除方法主要有下列凡种:背面消除、画家算法、z 缓冲器算法、扫 描线算法等n 嬲。 1 背面消除 背面消除的目的是剔除背尚褫点的多边形。当绘制一个由三维物体组成的 场景时,某些物体可能被其他物体全部和部分遮挡。同时许多模型也有一些背 向视点方向的平面。随着视点的改变,这些遮挡关系和背面也会随之改变。从 相反的方向观看场景时,原来在某物体前面的物体现在都到该物体后面去了, 面原先的背面也可见了。在系统绘制的过程中,应及时消除系统中被其他物体 遮挡的部分,同时要删去背向视点的面,以提高后续绘制的效率。确定一个多 边形是否背离褫点只需做简单的几何测试,遥常的测试方法是包阑球测试。这 种测试的原理是,对于世界空间中的每个物体,创建一个将其包围起来的球体, 然后只对球心执行世界坐标到相机坐标变换,并判断球体是否位于视景体内, 如果不在视景体蠹,则丢弃它包匿的物体。如果球体的一部分在视景体内,燹| j 这种测试不能得出结论,需要其他测试。 山东大学硕士学位论文 2 画家算法 画家算法把视场中的表面按深度排序。画家算法的思想是,先把屏幕置成 背影色,再把物体的各个面按其距离视点的远近进行排序,构成一深度优先级 表,离视点远者在表头,离视点近者在表尾。然后从表头到表尾逐个取出多边 形,投影到屏幕上,显示多边形所包含的实心区域。由于后显示的图形取代先 显示的画面,而后显示的图形所表示的面离视点更近。所以,由远及近地绘制 各面,就相当于消除隐面。 3 z 缓冲器算法 z 缓冲器算法也是一种简单的消隐算法。对一个像素,z 缓冲器中总是保存 最近的表面,如果新的表面深度比缓冲器保存的表面的深度更接近视点,则新 的代替保存过的,否则不代替。 4 扫描线算法 扫描线算法的基本思想是按扫描行的顺序处理一帧画面,在由视点和扫描 线所决定的扫描平面上解决消隐问题。具体步骤:先把物体各面投影到屏幕上, 再计算扫描线与物体各投影面的相交区间。当两个区间在深度方向上重叠时, 采用深度测试确定可见部分,扫描线算法的典型实现有两种:扫描线z 缓冲器 算法和扫描线间隔连贯性算法。 3 3 3 合理利用纹理 有效使用纹理不仅是一种增添场景真实感的有效方法,也是提高实时性的 好方法。对于门、窗、阳台栏杆、台价等细节都是具有数量较大的细节部分, 如果过分的强调细节,会使工作量和模型复杂度骤然增大,而且可能导致整个 系统实时运行速度的下降。因此,本系统对细节很多的建模一般采用纹理映射 的方法,在对应位置的多边形表面贴上纹理图片,用来代替详细的模型。比如 多级台阶,用台阶的纹理贴图代替就可以省去不少多边形。对于远方的物体和 整个大的场景系统而言用一幅贴图来代替,渲染的速度要比渲染上几百甚至几 千个多边形模型的速度要快得多。 纹理映射并不会降低场景的逼真程度,而且还可以极大的减少模型的多边 形数目和场景复杂程度,提高图像绘制输出时的显示速度n 们。 3 3 由衷大学硕士学位论文 3 。4 本章小结 本章首先介缨了现有的几种建模方法,并对各种建模方法的优缺点进行了 比较,选择了适合本系统的建模方法。接下来说明了本系统的数据采集方案, 然后分别研究了地面模型的建立、建筑物模型的建立、天空模型的建立、树木 模型的建立,重点研究了虚拟校园中建筑物的构成方法,最后说明了虚拟场景 模型的优化方案。 山东大学硕士学位论文 第四章虚拟校园漫游系统交互功能的实现 人和计算机的交互一直愚计算概系统研究的重要阕题,国际上广泛采用群以 用户为中心的设计( u s e rc e n t e r e dd e s i g n ,u c d ) 一方法铡。u c d 方法的主要特 征是用户的积极参与。实时交互性也是虚拟现实技术最主要特征之一,是虚拟 校园的核心所在。 4 。- l 交互漫游的实现 交互漫游就是用户采用多种输入设备相结合,可以随意控制漫游时的速度、 方向、视角等。其中控制输入设备的方式有鼠标和键盘。键盘控制速度和前进、 后退的方尚,鼠标控制俯仰、左右及旋转的操作。其实现的具体步骤如下: 1 键盘和鼠标的捕获瞻 要捕捉用户的动作,就需要相应的硬件输入设备,在微机上配备的最重要 的交互设备是键盘、鬣标。 键盘是人机交互使用频繁的一种外部设备,键盘对应的动作控制可由按键 或按键的组合来实现。每次我们松开或按下一个按键时,都会产生一个事件。 在应魇程序孛通过攘捉用户樱应的按键动作,转换成相应的控制命令,就可以 控制场景的变换。 鼠标是目前微机上人机交互的一种非常简便易用的输入设备,w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年上学校说课稿
- 2025-2026学年大鹿详细说课稿
- 2025-2026学年3级说课稿舞蹈
- 2025-2026学年乘车教学说课稿
- 2025-2026学年三年级上册音乐说课稿小班
- 焊接设备装配调试工操作水平评优考核试卷含答案
- 铁路车辆制修工岗前风险识别考核试卷含答案
- 路基路面工持续改进能力考核试卷含答案
- 2025-2026学年动物比尾巴说课稿
- 酒精酿造工安全技能测试考核试卷含答案
- 2025~2026学年七年级上学期第一次月考数学试卷2【附解析】
- 河南省郑州市实验中学2026-2027学年高二上学期第一次月考英语试卷
- 加入保险行业的十五大理由
- 酮症酸中毒指南2025版
- 社区公文写作格式和范文(15篇)
- 检验科试剂耗材精细化管理方案
- 2026年河南省高考物理试卷(含答案及解析)
- TAVR麻醉管理策略
- 泥结石路面施工方案
- 创面修复技术
- 2026年国家电网招聘之电网计算机考试题库500道(精练)
评论
0/150
提交评论