




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统仿真与虚拟现实的结合机制第三讲〖课前思考〗
1.系统仿真与虚拟现实有什么联系?2.了解都有些什么VR和仿真用的软件?〖学习目标〗
1.了解系统仿真的基本概念与知识要点。
2.了解有关VR与仿真常用的一些开发软件。〖学习指南〗
1.注意系统仿真与虚拟现实的联系与区别。
2.可视化仿真技术的知识要点。
3.各种仿真与VR软件的基本使用。
3.1系统仿真的基础知识一、系统仿真的基本概念现代系统仿真是以系统理论、形式化理论、随机过程与统计学理论和优化理论为基础,以计算机为工具,对具有不确定性因素的现实系统或未来系统进行动态实验研究的理论和方法。1、系统仿真的特性1)系统仿真是一种实验技术,它为一些复杂的系统创造了一种计算机实验环境;2)系统仿真实验需要在一定的语言支持下建立经过抽象和简化的仿真模型;3)系统仿真的输出结果是在仿真实验运行过程中不断对系统行为和系统状态进行观察和统计而得到的;4)系统仿真研究的对象往往包含多种随机因素的综合作用,每次仿真运行只是对系统行为的一次随机抽样。3.1系统仿真的基础知识
1)认识客观世界规律性的新型手段,它可以将研制过程、运行过程和实施过程放在实验室中进行,具有良好的可控制、无破坏性、可复现性和经济性等特点;2)用它可以探索高技术领域和复杂系统深层次的运动机理和规律性,给出人们直观逻辑推理不能预见的系统动态特征,具有科学的先验性;2、系统仿真的优点3.1系统仿真的基础知识3)系统仿真可根据系统内部的逻辑关系和数学关系,面向系统的实际过程和行为来构造仿真模型,在很少假设或不作假设的前提下建立包括系统主要因素和具体细节的模型框架,并通过仿真实验运行,得到复杂的解。4)系统仿真建模具有面向过程的特点,仿真模型与所研究系统的运行过程在形式上和逻辑上存在对应性,避免了建立抽象数学模型的困难,显著简化了建模过程,具有直观性。三、系统仿真的优点3.1系统仿真的基础知识5)随着系统仿真理论和计算机技术的发展,系统仿真已跻身于高新技术领域,使系统仿真与人工智能技术、并行处理技术、分布式仿真、优化理论、三维图像处理技术以及多媒体技术等融为一体,并逐步步入虚拟现实仿真、互联网上仿真以及群决策仿真研讨等领域。鉴于系统仿真的这些优点,它已在工业生产、交通运输、能源供应、医疗卫生、航空航天、军事作战、制造过程以及社会服务等领域得到广泛的应用。三、系统仿真的优点3.1系统仿真的基础知识系统模型是对实际系统的一种抽象、本质的描述,是人们对客观世界反复认识、分析,经过多级转换、整合等相似过程而形成的最终结果,它具有与系统相似的数学描述或物理属性,以各种可用的形式,给出研究系统的信息二、系统仿真的建模和类别3.1系统仿真的基础知识1、模型要求1)模型必须是现实系统的一种抽象,它是在一定假设条件下对系统的简化。2)模型中必须包含系统中的主要因素,模型不可能与实际系统完全对应,只应当包含那些决定系统本质属性的重要因素。3)为了进行定量分析,模型中必须反映出各主要因素之间的逻辑关系和数学关系,使模型对系统具有代表性。二、系统仿真的建模和类别3.1系统仿真的基础知识1、系统仿真的分类1)根据计算机分类模拟计算机仿真数字计算机仿真模拟数字混合仿真模拟计算机混合接口A/D、D/A控制逻辑数字计算机二、系统仿真的建模和类别3.1系统仿真的基础知识2)根据仿真时钟与实际时钟的比例关系分类实时仿真——仿真时钟与实际时钟是完全一致的。欠实时仿真——仿真时钟比实际时钟慢。超实时仿真——仿真时钟比实际时钟快。3)根据仿真系统的结构和实现手段不同分类数学仿真物理仿真1、系统仿真的分类二、系统仿真的建模和类别3.1系统仿真的基础知识半实物仿真又称硬件在回路中仿真。动力学系统三轴转台、目标仿真器、水/动/静压仿真器执行机构伺服回路控制/制导/导航计算机探测器传感器仿真计算机仿真环境图:半实物仿真系统1、系统仿真的分类二、系统仿真的建模和类别3.1系统仿真的基础知识人在回路中的仿真。软件在回路中的仿真。动力学模型人视景系统仪表显示音响模拟多自由度运动系统操纵负载模拟系统仿真计算机仿真环境图:人在回路中的仿真系统1、系统仿真的分类二、系统仿真的建模和类别3.1系统仿真的基础知识三、系统仿真的作用1)优化系统设计;2)对系统或系统的某一部分进行性能评价;3)节省经费;4)重现系统故障,以便判断故障产生的原因;5)可以避免试验的危险性;6)进行系统抗干扰性能的分析研究;7)训练系统操作人员;8)系统仿真能为管理决策和技术决策提供依据。3.1系统仿真的基础知识1)阐述问题和目标设定;2)仿真建模;3)数据采集;4)仿真模型的确认;5)仿真程序的编制和验证;6)仿真模型的运行;7)仿真输出结果的统计分析。四、系统仿真的基本步骤3.1系统仿真的基础知识问题描述确定仿真目标仿真建模数据采集模型确认?仿真程序的编制(生成)程序验证?仿真实验设计仿真试运行仿真再确认正式仿真运行仿真输出统计分析仿真报告是是是否否否3.1系统仿真的基础知识四、系统仿真的基本步骤五、现代仿真的基本框架现代仿真技术的发展使仿真技术扩展到系统建模、仿真建模和仿真试验等三项活动中,使传统意义上的仿真概念产生了变革。1984年Oren提出了现代仿真的基本概念框架:
“建模——试验——分析”。仿真的这一基本概念框架总结了仿真研究的三个基本要素:1)对仿真问题的描述;2)行为产生器;3)模型行为的处理。3.1系统仿真的基础知识模型行为及其处理
仿真问题的描述特定的模型:参数模型参数值试验:实验框架仿真运行控制行为产生模型行为(仿真数据)轨迹产生结构行为行为处理:分析、显示六、仿真研究的基本要素3.1系统仿真的基础知识1、对仿真问题的描述任何一个仿真问题都由模型与试验两部分组成。任何一个数学模型,不论采用什么样的建模方法,又都由两部分组成:一个参数模型及一组参数值。试验也分为两部分:试验框架和仿真运行控制。2、行为产生器
行为产生器是一套对模型进行试验的软件,由它可以产生一组系统状态变量随时间变化的资料(称为模型行为)。3、模型行为及其处理
有三种模型行为:点行为、轨迹行为、结构行为。行为处理包括对行为进行分析以及将行为显示出来。六、仿真研究的基本要素3.1系统仿真的基础知识仿真算法是将系统数学模型转换成适合于计算机运行的模型(即计算机仿真模型)的一类算法。1、集中参数系统数字仿真算法集中参数系统的数学模型通常由一阶常微分方程组表示。常用算法有:数值积分法、离散相似法、置换法、根匹配法、增广矩阵法等。2、分布参数系统数字仿真算法分布参数系统是用偏微分方程描述的。常用方法:有限差分法、有限元法。3、离散事件系统数字仿真算法离散事件系统的仿真模型通常采用流图或网络图描述。常用方法:面向事件的建模方法、面向活动的建模方法、面向进程的建模方法。七、仿真研究的基本要素3.1系统仿真的基础知识仿真软件是一类面向仿真用途的专用软件,它的特点是面向问题、面向用户。它的功能可概括为:1)模型描述的规范及处理;2)仿真试验的执行与控制;3)资料与结果的分析、显示及文档化;4)对模型、试验程序、资料、图形或知识的存储、检索与管理。根据实际情况,仿真软件分为:
仿真程序、仿真语言、仿真环境三个不同的层次八、仿真软件3.1系统仿真的基础知识1、虚拟现实建立三维实体和虚拟现实场景,提供给用户一个浏览的空间,但在这样的环境中用户往往不能控制对象的运动。对象的运动轨迹和方式一般是在环境创建时预先设计好的。2、仿真为了在虚拟现实环境中能够得到身临其境的感觉,仿真系统中的对象应该是可控的,可以按照研究者的需要动态地产生或消除三维实体,而三维实体的运动也应该按照仿真的需要进行。3、结合虚拟现实给研究者一个仿真的空间,使仿真的结果更加真实可信,而仿真可实时地控制对象的运行,干预虚拟环境中系统的运行。九、系统仿真与虚拟现实技术的比较3.1系统仿真的基础知识1、智能仿真系统如:知识库仿真系统、仿真建模自动化、仿真程序自动生成和智能化仿真决策系统。2、面向对象的仿真系统比较突出的是由德国开发的SIPLE++面向对象仿真系统软件。3、分布式并行仿真适用于局域网内不同节点上的分布式仿真和异地远程网络上的仿真。在军事作战仿真中已得到应用。4、Internet网上仿真如美国海军研究院的Simkit可以在网上浏览器的支持下进行分布式仿真。5、可视化交互式仿真系统(VIS)6、虚拟现实(VR)仿真十、仿真的研究热点3.1系统仿真的基础知识十一、应用实例
1、美游戏机商为军方研制驾驶
模拟器美国陆军同游戏机生产商ZombieStudios公司签署了一份总额为10万美元的合同,将由后者为军方研制一种新型的驾驶模拟器。美国军方发言人介绍称,军方订购这种新型训练设备的目的是为了尽可能模拟出一种贴近现实的环境,以帮助军车驾驶员准确识别可能隐藏在行进路线上的爆炸装置,并在发生爆炸或遭到攻击时做出迅速而且准确的反应。训练过程中,士兵们将会坐在一部货真价实的“悍马”越野吉普车中。在车体的周围将会设置6或者8部屏幕,可提供360°的视界。此外,模拟器还可产生非常逼真的响声,让参训士兵有种身临其境的感觉。车上的士兵们将会携带安装了激光器的自动步枪进行模拟射击。3.1系统仿真的基础知识十一、应用实例二
2、德国的危机预防信息系统对巨大灾难的管理(包括自然和人为的灾难)要获得高效、取得成功,决策者必须要及时获取相关信息。2001年夏天德国内政部门决定建立“危机预防信息系统”(GermanEmergencyPlanningInformationSystem/简称deNIS)。在此基础上开发的deNISII的目标则是为市民和灾难反应建立起一个网络,作为联邦和地方政府决策制订者的信息沟通支持,更好地为自然灾害和技术事故等突发事件的援救提供信息服务。deNIS的主要任务即是支持灾难管理者的工作,相应的deNISII系统只对一些授权的使用群体开放:主要是联邦政府的内务部门和灾难控制部门的运作中心。系统用以评估灾难的现状情势和面临的问题,分析应该采取什么样的方法来保护公众的人生安全,必须向州、联邦政府或者外国申请哪些援助物资。3.1系统仿真的基础知识3.2可视化仿真及相关应用软件3.2.1可视化仿真技术简介1、可视化技术一种用图形或图像来表征数据的计算方法,即利用计算机图形图像技术将一维数据转化为可观察的二维或三维几何表示,从而达到增强人们对抽象信息认知的目的。2、分类:科学计算可视化和空间信息可视化可视化仿真应用系统的组成仿真应用程序:可视化仿真的驱动核心;图像生成器:可视化仿真的硬件平台;可视化数据库:可视化仿真的数据基础。3、可视化仿真系统三维建模数据库特点模型的多边形数量要尽可能少模型数据的构造要尽可能简单模型数据库的结构要便于进行遍历操作模型数据库要能够被应用程序快速读取模型数据库可以包含各种约束限制信息4、可视化仿真与计算机动画技术的区别仿真的画面是“实时”生成的,而三维动画的画面是预先渲染好的。尽管它们最终在屏幕上显示出来的效果都是连续的画面。仿真具有高度的交互性,用户可以主动参与到仿真的过程中,仿真系统还可以对用户的各种输入进行实时的响应而三维动画因为只是连续播放渲染好的画面帧序列,所以不具备任何的交互性,用户只能被动参与或者欣赏。3.2可视化仿真及相关应用软件3.2.1可视化仿真技术简介仿真的帧频率一般是变化的,从每秒15帧(低于这个帧频率时,视觉上就会感到不连贯)到每秒几十或者上百帧不等,这跟仿真运行过程中的画面复杂度有直接的关系;而三维动画的帧频道是事先设定好的画面始终保持设定的帧频率。可视化仿真强调的是实时的交互性,而三维动画强调的视觉效果。5、可视化仿真技术的独特作用进行商业和军事事件的排练和演习模拟,如飞行训练仿真;对复杂事件进行深入直观的再现,如交通救护仿真;需要对突发事故进行预排和演练,如消防救灾仿真;交互式三维视频游戏仿真;对不确定事件进行预览。3.2可视化仿真及相关应用软件3.2.1可视化仿真技术简介6、传统建模软件的不足传统的三维模型数据库由于应用目的的限制,常常不能很好地满足上述的一些特点。如CAD模型传统的三维模型软件虽可以方便的创建各种各样的三维模型,但这些模型都不适用于可视化仿真应用。7、在视景仿真中,会用到哪些元素?实时应用程序;图形生成器(IG);视景数据库;建模包;视觉真实度。
3.2可视化仿真及相关应用软件3.2.1可视化仿真技术简介7、仿真模型的渲染过程
大体上要经历应用(APP)、剔除(CULL)和绘制(DRAW)三个主要过程。APP①从控制设备中读入输入数据②加载模型数据③计算当前视点位置和模型位置CULL①判断当前可视范围内的模型②从内存中剔除当前不可见的模型数据。DRAW①从显示列表中读出模型数据②绘制多边形数据。3.2可视化仿真及相关应用软件3.2.1可视化仿真技术简介3.2.2Creator——可视化仿真建模技术MultigenCreator系列软件是Multigen-Paradigm公司专门针对可视化仿真行业应用特点推出的实时可视化三维建模软件系统,它提供了分别运行于高端SGI工作站和低端PC平台的不同版本,可以最大限度地满足不同的应用需求。在SGI工作站的SGIIRIX操作系统上运行时Multigen软件包可以充分利用SGI工作站超强的图形功能,最大限度地利用多个处理器的强大计算功能,可以支持多线程和丰富的图形音频编程接口等。基于实时应用环境的OpenFlight数据格式,Multigen提供了强大的多边形建模、矢量建模以有大面积地形精确生成等功能,配合多种专业可选模块及插件,用户能够高效地生成实时三维模型数据库,并与后续的实时仿真软件紧密结合。3.2可视化仿真及相关应用软件Creator可视化建模软件包,将OpenFlight格式模型数据库的层次视图无缝地与建模环境集成在一起,使得用户可以在创建虚拟三维模型的同时关注模型数据库的结构与状态,可以实时地对模型进行观察、检察和修改。用户可以直接对模型数据库进行操作,通过简单的移动和调整就可以达到优化OpenFlight模型数据库的目的。为了保证软件良好的可扩充性,Multigen采用了模块化的开发和销售方式,用户可以根据实际需要选用合适的模块进行工作。主要的模块包括:基本建模模块(CreatorPro)、地形建模模块(TerrainPro)、标准道路建模模块(RoadTools)等。3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件1、基本建模环境模块其基本功能是为用户提供一个功能强大、交互式的可视化建模环境,主要功能包括:
强大的多边形建模功能;
强大的矢量化建模功能;
强大的模型数据库控制功能;
强大的纹理映射和贴图功能;
支持多种格式的三维模型格式转换;
支持大面积地形的精确生成;
支持多细节层次(LOD)建模;
支持多自由度(DOF)建模;
支持光点系统模拟;支持序列动画模拟;3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件2、地形建模模块利用地形建模模块可以快速创建大面积地形模型数据库,通过自动化的层次细节设置和组筛选,能够很容易地创建多种分辨率的地表特征,并能够精确控制地表的面片数以及与原始数据的误差值。该模块主要功能包括:支持多种地形生成算法;
支持多种数字地形高程数据;
支持数字特征分析数据(DFAD);
强大的批处理地形生成功能;
强大的整体纹理映射功能;
提供高级地形表面生成工具。3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件3、标准道路建模模块标准道路建模模块是利用高级算法快速生成符合美国国家高速公路与交通协会(AASHTO)标准的路面数据模型,特别适用于车辆设计、驾驶培训、事故重现等驾驶仿真应用。其主要功能包括:自动多层次细节模型生成;自动路面纹理贴图;支持自定义道路横断面;支持自定义道路中线及分道线;提供预定义的公路交通标志、路灯模型;支持模拟驾驶预览效果。3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件4、基本建模技术设置参考网格
选择模型对象使用颜色使用材质使用纹理
使用灯光
下面介绍一下这几个技术中一些比较重要的内容。1)设置参考网格可以处于图形视图任一位置的一个参考平面,用户在视图中所有用鼠标左键的输入操作都是在这个参考平面上今次能够在该参考平面上的一个二维网格,这个网格的作用只是为了让用户能够在图形视图中看到参考平面的实际位置,从而方便的进行各种操作。3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件2)选择模型对象
在创建模型数据库过程中,对模型对象进行任何操作之前都要选择该模型对象。遵循原则和常用技巧:在图形视图中选择模型对象的结果取决于当前的建模模式。在图形视图中通过单击左键进行选择,只能选择到面向视点的模型对象,不能选择到模型几何体的背面在层级视图中进行选择时,可以不考虑当前的建模方式。在层级视图中进行选择时,不能同时选择父节点和它的子节点。在选择模型对象的同时按下Alt键,被选择的模型对象对应的节点就会成为当前父节点。3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件3)使用纹理纹理:指那些被映射到三维模型表面的二维图像,使用纹理可以在不增加多边形的前提下,使模型对象获得照片级的真实感视觉效果。纹素:二维纹理图像在纹理空间的最小单位被称为纹素映射到模型表面的纹理在实际渲染过程中会出现三种情况:一个纹素恰好对应屏幕上一个像素;多个纹素映射到同一个屏幕像素中,压缩过滤;一个纹素映射到几个屏幕像素中,放大过滤。3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件纹理映射的步骤:准备纹理图像;将纹理的u,v坐标映射为屏幕空间坐标;将纹理颜色与多边形颜色和材质颜色融合;进行适当的纹理过滤处理,优化纹理映射效果。纹理图像要求:Creator支持多种通用标准图像格式,常用的主要格式包括:INT,INTA,RGB,RGBA,TGA,JPEG,BMP,GIF等:使用纹理前,必须将响应纹理图像加载到纹理内存中;纹理图像在两个方向上的尺寸必须是2的幂次大小,但不要求长宽相同。3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件5、高级建模技术LOD技术DOF技术动画序列技术声音建模技术光点建模技术仪表建模技术
3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件
下面介绍其中的一些关键技术:1)LOD技术在可视化仿真运行的过程中,实时系统会根据当前视点位置距模型对象的距离选择其中一个LOD来显示模型对象。如果视点离物体较远,则使用多边形较少的低LOD显示模型对象,随着视点向物体移动,实时系统会逐渐用越来越复杂的LOD代替,反之亦然。2)DOF技术DOF技术可以使模型对象具有活动的能力,DOF节点可控制它的所有子结点按照自由度范围进行移动或者旋转运动。注意问题:DOF节点和组节点的级别是相同的,在创建DOF节点时,必须以组节点或其他同级别的节点(如LOD)作为父节点。为模型对象定义自由度,必须创建相应的局部坐标系,因为模型对象的所有运动都是相对于该局部坐标系进行的。要使DOF节点下模型对象能够运动,除了设置局部坐标系外,还必须设定模型对象的自由度范围3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件3)动画序列技术
动画序列模拟传统二维动画创作方法,通过连续播放一系列动画画面以产生运动的效果,Creator则通过按照指定的顺序依次显示组节点下的单个子节点来实现这个过程。4)模型数据库优化技术调整数据库层级结构减少多边形数量使用边界体活用剪裁面3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件示例演示光滑面的制作过程建弯道的方法3.2.2Creator——可视化仿真建模技术3.2可视化仿真及相关应用软件3.2.3Vega——构建高级实时仿真的高效工具
Vega是Multigen-Paradigm公司推出的先进软件环境。它主要用于虚拟现实技术中的实时视景仿真、声音仿真以及科学计算可视化等领域。它支持快速的复杂的视觉仿真程序,为用户提供一个处理复杂仿真应用的便捷手段。Vega主要包括两部分:一个是被称为LynX的图形用户界面,另一个则是基于C语言的Vega函数调用库。Vega及其相关模块支持Unix和WindowsNT/2000平台。用Vega写的应用程序可以99%地兼容跨平台使用,支持OpenFlight、3DStudio和VRML2.0等数据库格式。3.2可视化仿真及相关应用软件Vega目前有以下附加模块:
AudioWork2:音响环境生成
SpecialEffects:特殊效果
LADBM:大地景数据库管理
Marine:海洋仿真
DIS/HLA:分布交互仿真
DI-Guy:人体运动仿真
Symbology:仪表和控制面板仿真
LightLobes:移动光源照明
NavigationandSignalLighting:导航及信号灯模块
Non-LinearDistortionCorrection:非线性失真矫正3.2.3Vega——构建高级实时仿真的高效工具3.2可视化仿真及相关应用软件CloudScapeVR:云彩、尘土仿真SimSmithVehicleObjects:车辆物体仿真
SimSmithVehicleControls:车辆物体控制
Immersive:增加沉浸感
SensorVision:传感器图像仿真
SensorWorks:增加对实际传感器效果的模拟
RadarWorks:基于物体机制的雷达图像仿真
TMM:纹理材料图生成器
MAT:大气工具VCR:实时场景记录和播放3.2.3Vega——构建高级实时仿真的高效工具3.2可视化仿真及相关应用软件Vega视景仿真开发流程3.2.3Vega——构建高级实时仿真的高效工具3.2可视化仿真及相关应用软件Vega的编辑环境Vega对于程序员和非程序员都是称心如意的。它提供的LynX,一种基于X/Motif技术的点击式图形环境,使用LynX可以快速、容易、显著地改变应用性能、视频通道、多CPU分配、视点、观察者、特殊效果、一天中不同的时间、系统配置、模型、数据库及其它,而不用编写源代码。LynX可以扩展成包括新的、用户定义的面板和功能,快速地满足用户的特殊要求。事实上,LynX是强有力的和通用的,能在极短时间内开发出完整的实时应用。用LynX的动态预览功能,您可以立刻看到操作的变化结果。LynX的界面包括您应用开发所需的全部功能。3.2.3Vega——构建高级实时仿真的高效工具3.2可视化仿真及相关应用软件Vega还包括完整的C语言应用程序接口,为软件开发人员提供最大限度的软件控制和灵活性。Vega提供了稳定、兼容、易用的界面,使开发、支持和维护工作更快和高效。LynX界面使用户能对交付的系统重新配置,它的实时交互性能为开发系统提供更经济的解决方案。Vega支持多种数据调入,允许多种不同数据格式综合显示,Vega还提供高效的CAD数据转换。现在开发人员、工程师、设计师和规划者可以用最新的实时模拟技术将他们的设计综合起来。3.2.3Vega——构建高级实时仿真的高效工具3.2可视化仿真及相关应用软件Vega开发产品有两种主要的配置:
VEGA-MP(Multi-Process)为多处理器硬件配置提供重要的开发和实时环境。通过有效地利用多处理器环境,Vega-MP在多个处理器上逻辑地分配视觉系统作业,以达到最佳性能。Vega也允许用户将图像和处理作业指定到工作站的特定处理器上,定制系统配制来达到全部需要的性能指标。
VEGA-SP(Single-Process)是Paradigm特别推出的高性能价格比的产品,用于单处理器计算机,具备所有Vega的功能,而且和所有的Paradigm附加模块相兼容。3.2.3Vega——构建高级实时仿真的高效工具3.2可视化仿真及相关应用软件OpenGraphicsLibrary,是一个三维的计算机图形和模型库。3.2.4OpenGL3.2可视化仿真及相关应用软件它是应用程序编程接口(API),不是编程语言。具有高度的可移植性,并且具有非常快的速度。独立于硬件,独立于窗口系统,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式工作。OpenGL的核心库包括100多个用于3D图形操作的函数,主要负责处理对象外形描述、矩阵变换、灯光处理、着色、材质等和三维图形图像密切相关的事情。3.2可视化仿真及相关应用软件3.2.4OpenGL1、OpenGL的主要功能:模型绘制模型观察颜色模式的指定光照应用图像效果增强位图和图像处理纹理映射实时动画交互技术3.2可视化仿真及相关应用软件3.2.4OpenGL2、OpenGL的处理结构首先,在OpenGL中允许视景对象用图形方式表达,有针对三维坐标表示的顶点的几何变换,通过该变换可使顶点在三维空间内进行平移和旋转,对于由顶点的集合表达的物体则可以实现其在空间的各种运动。其次,OpenGL通过光照处理能表达出物体的三维特性,其光照模型是整体光照模型,它把顶点到光源的距离、顶点到淘汰的方向向量以及顶点到视点的方向向量等参量代入该模型,计算顶点颜色。另外,为弥补图形方法难于生成复杂的自然背景的不足,OpenGL提供了对图像数据的使用方法,即直接对图像数据读、写和拷贝,或者把图像数据定义为纹理与图形的结合,以生成视景图像和增强效果。3.2可视化仿真及相关应用软件3.2.4OpenGL一个完整的窗口系统的OpenGL图形处理系统的结构为:最底层为图形硬件第二层为操作系统第三层为窗口系统第四层为OpenGL第五层为应用软件应用软件OpenGL窗口系统操作系统图形硬件3.2可视化仿真及相关应用软件3.2.4OpenGL3、OpenGL提供的基本操作1)绘制物体
OpenGL提供了丰富的基本图元绘制命令,从而可以方便地绘制物体。2)变换
OpenGL提供了一系列基本的变换,如取景变换、模型变换、投影变换及视口变换。3)光照处理绘制有真实感的三维物体必须做光照处理。3.2可视化仿真及相关应用软件3.2.4OpenGL4)着色OpenGL提供了两种物体着色模式:一种是rgba颜色模式,另一种是颜色索引模式。5)反走样在OpenGL绘制图形过程中,由于使用的是位图,所以绘制出的图像的边缘会出现锯齿形状,称为走样。了消除这种缺陷,opengl提供了点、线、多边形的反走样技术。6)融合
为了使三维图形更加具有真实感,经常需要处理半透明或透明的物体图像,这就需要用到融合技术。3、OpenGL提供的基本操作3.2可视化仿真及相关应用软件3.2.4OpenGL7)雾化8)位图和图像9)纹理映射在计算机图形学中,把包含颜色、alpha值、亮度等数据的矩形数组称为纹理。而纹理映射可以理解为将纹理粘贴在所绘制的三维模型表面,以使三维图形显得更生动。l0)动画出色的动画效果是opengl的一大特色,opengl提供了双缓存区技术来实现动画绘制。3、OpenGL提供的基本操作3.2可视化仿真及相关应用软件3.2.4OpenGLGL_POLYGONGL_POINTSGL_LINESGL_LINE_LOOPGL_LINE_STRIPGL_QUAD_STRIPGL_TRIANGLE_STRIPGL_TRIANGLE_FANGL_TRIANGLESGL_QUADS1)基本图元绘制顶点glVertex3f(x,y,z):glBegin(GL_MODE)和glEnd()绘制复杂图元4、世界坐标系中3D图形描绘3.2可视化仿真及相关应用软件3.2.4OpenGL2)复杂图元
顶点数组 使用数组存放顶点坐标,法线,颜色…
使用指针来获取数据,一次函数调用完成
voidglVertexPointer(GLintsize,GLenumtype,GLsizeistride,constGLvoid*pointer)
voidglDrawElements(GLenummode,GLsizeicount,GLenumtype,constGLvoid*indices)4、世界坐标系中3D图形描绘3.2可视化仿真及相关应用软件3.2.4OpenGL3)坐标变换平移:glTranslate{fd}(x,y,z)
旋转:glRotate{fd}(angle,x,y,z)
缩放:glScale{fd}(x,y,z)
4、世界坐标系中3D图形描绘3.2可视化仿真及相关应用软件3.2.4OpenGL真实感图形是通过景物表面的颜色和明暗色调来表现景物的几何形状、空间位置以及表面材料的,而一个物体表面所呈现的颜色是由表面向视线方向辐射的光能决定的。物体本身的材质构成;光的颜色和位置;具有四种光照效果:
辐射光、环境光、镜面光漫反射光;两种颜色模式:
——RGBA模式
——颜色表模式。5、材质和光照3.2可视化仿真及相关应用软件3.2.4OpenGL纹理映射基本步骤:1)定义纹理;2)控制滤波;3)说明映射方式;4)绘制场景,给出顶点的纹理坐标和几何坐标注意:纹理映射只能在RGBA方式下执行,不能运用于颜色表方式。6、纹理映射3.2可视化仿真及相关应用软件3.2.4OpenGL映射方式:
voidglTexEnv{if}[v](GLenumtarget,GLenumpname,TYPEparam);//设置纹理映射方式。参数:target必须是GL_TEXTURE_ENV;若参数pname是GL_TEXTURE_ENV_MODE,则参数param可以是GL_DECAL、GL_MODULATE或GL_BLEND,以说明纹理值怎样与原来表面颜色的处理方式;若参数pname是GL_TEXTURE_ENV_COLOR,则参数param是包含四个浮点数(分别是R、G、B、A分量)的数组,这些值只在采用GL_BLEND纹理函数时才有用。6、纹理映射3.2可视化仿真及相关应用软件3.2.4OpenGL1)三维图形显示流程
世界坐标系中的三维物体三维几何变换投影三维剪裁视口变换屏幕坐标系中的图形显示8、如何在OpenGL中建立一个3D物体3.2可视化仿真及相关应用软件3.2.4OpenGL2)从三维空间到二维平面
2D+透视=3Dcameratripodmodelviewingvolume8、如何在OpenGL中建立一个3D物体3.2可视化仿真及相关应用软件3.2.4OpenGL视点变换
视点变换是在视点坐标系中进行的。视点坐标系于一般的物体所在的世界坐标系不同,它遵循左手法则,即左手大拇指指向Z正轴,与之垂直的四个手指指向X正轴,四指弯曲90度的方向是Y正轴。而世界坐标系遵循右手法则的。8、如何在OpenGL中建立一个3D物体3.2可视化仿真及相关应用软件3.2.4OpenGL3)几何变换模型变换是在世界坐标系中进行的。在这个坐标系中,可以对物体实施平移glTranslatef()、旋转glRotatef()和放大缩小glScalef()。实际上,视点变换和模型变换本质上都是一回事,即图形学中的几何变换。视点变换一般只有平移和旋转,没有比例变换。4)投影变换
投影变换是一种很关键的图形变换,OpenGL中只提供了两种投影方式,一种是正射投影,另一种是透视投影。
8、如何在OpenGL中建立一个3D物体3.2可视化仿真及相关应用软件3.2.4OpenGL正射投影(OrthographicProjection)
正射投影,又叫平行投影。这种投影的视景体是一个矩形的平行管道,也就是一个长方体,如图所示。正射投影的最大一个特点是无论物体距离相机多远,投影后的物体大小尺寸不变。这种投影通常用在建筑蓝图绘制和计算机辅助设计等方面,这些行业要求投影后的物体尺寸及相互间的角度不变,以便施工或制造时物体比例大小正确。8、如何在OpenGL中建立一个3D物体3.2可视化仿真及相关应用软件3.2.4OpenGL4)投影变换透视投影(PerspectiveProjection)
透视投影符合人们心理习惯,即离视点近的物体大,离视点远的物体小,远到极点即为消失,成为灭点。它的视景体类似于一个顶部和底部都被切除掉的棱椎,也就是棱台。这个投影通常用于动画、视觉仿真以及其它许多具有真实性反映的方面。8、如何在OpenGL中建立一个3D物体3.2可视化仿真及相关应用软件3.2.4OpenGL4)投影变换
在OpenGL中,空间物体的三维裁剪变换包括两个部分:视景体裁剪和附加平面裁剪。视口变换就是类似于照片的放大与缩小。在计算机图形学中,它的定义是将经过几何变换、投影变换和裁剪变换后的物体显示于屏幕窗口内指定的区域内,这个区域通常为矩形,称为视口。OpenGL中相关函数是:
glViewport(GLintx,GLinty,GLsizeiwidth,GLsizeiheight);
这个函数定义一个视口。函数参数(x,y)是视口在屏幕窗口坐标系中的左下角点坐标,参数width和height分别是视口的宽度和高度。缺省时,参数值即(0,0,winWidth,winHeight)指的是屏幕窗口的实际尺寸大小。8、如何在OpenGL中建立一个3D物体3.2可视化仿真及相关应用软件3.2.4OpenGL5)裁剪变换投影变换6)、视口变换3.2.5VRML——虚拟现实造型语言VRML:“VirtualRealityModelingLanguage”VRML被称为继HTML之后的第二代Web语言,它本身是一种建模语言,也就是说,它是用来描述三维物体及其行为的,可以构建虚拟境界(VirturalWorld),可以集成文本、图像、音响、MPEG影像等多种媒体类型,还可以内嵌用Java、ECMAScript等语言编写的程序代码。VRML的基本目标是建立因特网上的交互式三维多媒体,基本特征包括分布式、三维、交互性、多媒体集成、境界逼真性等。3.2可视化仿真及相关应用软件VRML是一种用在Internet和Web超链上的,多用户交互的,独立于计算机平台的,网络虚拟现实建模语言。虚拟世界的显示、交互及网络互连都可以用VRML来描述。
VRML文件:VRML定义了一种把3D图形和多媒体集成在一起的文件格式。从语法角度看,VRML文件是显式地定义和组织起来的3D多媒体对象集合;从语义角度看,VRML文件描述的是基于时间的交互式3D多媒体信息的抽象功能行为。VRML文件描述的基于时间的3D空间称为虚拟境界(VirtualWorld),简称境界,所包含的图形对象和听觉对象可通过多种机制动态修改。1、VRML的工作原理3.2.5VRML——虚拟现实造型语言3.2可视化仿真及相关应用软件VRML文件可以包含对其他标准格式文件的引用可以把JPEG、PNG和MPEG文件用于对象纹理映射,把WAV和MIDI文件用于在境界中播放的声音。还可以引用包含Java或ECMAScript代码的文件,从而实现对象的编程行为。所有这些都是由其他标准提供的,之所以在VRML中选用它们,是因为它们在Internet上的广泛应用。场景图VRML使用场景图(SceneGraph)数据结构来建立3D实境,这种数据结构是以SGI开发的OpenInventor3D工具包为基础的一种数据格式。VRML的场景图是一种代表所有3D世界静态特征的节点等级:几何关系、质材、纹理、几何转换、光线、视点以及嵌套结构。几乎所有生产厂商,无论是CAD、建模、动画、VR,还是VRML,他们的结构核心都有场景图。1、VRML的工作原理3.2.5VRML——虚拟现实造型语言3.2可视化仿真及相关应用软件境界中的对象及其属性用节点(Node)描述,节点按照一定规则构成场景图(SceneGraph),即场景图是境界的内部表示:场景图中的第一类节点用于从视觉和听觉角度表现对象,它们按照层次体系组织起来,反映了境界的空间结构。另一类节点参与事件产生和路由机制,形成路由图(RouteGraph),确定境界随时间的推移如何动态变化。VRML文件的解释、执行和呈现通过浏览器实现,这与利用浏览器显示HTML文件的机制完全相同。浏览器把场景图中的形态和声音呈现给用户,这种视听觉呈现即所谓的虚拟世界(境界)。用户通过浏览器获得的视听觉效果如同从某个特定方位体验到的,境界中的这种位置和朝向称为取景器(Viewer)。1、VRML的工作原理3.2.5VRML——虚拟现实造型语言3.2可视化仿真及相关应用软件访问方式
VRML的访问方式是基于客户/服务器模式的。其中服务器提供VRML文件及支持资源(图像、视频、声音等),客户端通过网络下载希望访问的文件,并通过本地平台上的VRML浏览器交互式地访问该文件描述的虚拟境界。由于浏览器是本地平台提供的,从而实现了平台无关性。下图描述了VRML的工作方式。1、VRML的工作原理3.2.5VRML——虚拟现实造型语言3.2可视化仿真及相关应用软件1)典型的应用领域(1)教育应用(2)工程应用(3)商业应用(4)娱乐应用2)成功案例(1)科技探索(2)商业宣传(3)电子购物(4)文物保护(5)娱乐业2、VRML应用3.2.5VRML——虚拟现实造型语言3.2可视化仿真及相关应用软件3.3虚拟现实与系统仿真的结合VRML是一个简单实用的虚拟现实建模平台,在VRML的基础上开发仿真程序可以快速地建立虚拟现实仿真系统。利用VRML建立具有交互能力和仿真功能的虚拟现实仿真环境,通常有以下几种方法:1)利用VRML内部的VRMLScript节点实现较为简单的交互与动画;2)利用JavaScript嵌入VRM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高职现代学徒制协议书(2篇)
- 葡萄酒灌装车间工艺流程培训
- 创业风险与对策
- 初中历史知识竞赛题库
- 电气安全操作知识
- 2025年小学教师资格《综合素质》热点问题分析题含答案及解析
- 2025年会计职称考试《初级会计实务》财务管理基础习题集及答案解析试卷
- 2025年消防执业资格考试题库:消防救援队伍管理法规实战演练试题
- 2025年美术教师编制考试模拟试卷:美术教学理论基础知识试题
- 小学感恩教育主题班会
- 2025年宜宾兴文县招考聘用社区专职工作者7人高频重点提升(共500题)附带答案详解
- 二 20以内的退位减法 第1课时 十几减9课件2024-2025人教版一年级数学下册
- 减资协议书(2篇)
- 2025年山东能源集团权属企业内蒙古荣信化工限公司社会招聘高频重点提升(共500题)附带答案详解
- 口腔科急救培训
- 退役军人创业扶持协议
- 2025年中储粮集团公司招聘笔试参考题库含答案解析
- 保护母亲河日关爱河湖保护母亲河保卫黄河课件
- 物业高压配电室培训
- 安全生产管理制度-普货运输
- DB41T 1508-2017 化妆刷标准规范
评论
0/150
提交评论