欢迎来到天天文库
浏览记录
ID:34140924
大小:340.20 KB
页数:7页
时间:2019-03-03
《基于vrml的三维仿真建模算法研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、http://www.paper.edu.cn基于VRML的三维仿真建模算法研究12王昊鹏,刘永玉1,2空军航空大学(130022)E-mail:wingrocc@email.jlu.edu.cn摘要:随着Internet的发展,以VRML为代表的基于WWW的虚拟现实建模技术正在日益受到广泛的重视。基于VRML、遥感技术构建虚拟三维环境可以对农林业进行宏观及动态模拟。本文根据虚拟现实建模语言的繁杂性,讨论了基于VRML进行三维仿真环境建模的主要算法,从而提高创建三维仿真环境的效率。关键词:虚拟现实建模语言,建模算法,三维中图分类号:TP3
2、91文献分类码:A1.引言虚拟现实(VirtualReality,简称VR)是随着计算机技术及图形处理技术的进步而不断发展成熟起来的一门新技术。它可以将人们的视觉带入一个近乎真实世界的三维空间中,其交互式的特性更使人感到身临其境,从而在模拟训练、产品设计、商品展示、游戏娱乐等许多领域显示出巨大的应用前景。WWW的出现产生了HTML,同时CGI使得Web有了更强的交互功能。随着WWW的普及和人们对Web日益增长的需求,WWW需要不断地注入新的活力,于是VRML(VirtualRealityModelingLanguage,虚拟现实建模语言)
3、应运而生了。它改变了原来WWW的单调、交互性差的弱点,将人们的运动行为作为浏览的主体,提供给用户虚拟的三维空间。但是,由于VRML自身的规范复杂,对真实事物、场景的三维几何体构造需要大量的数据录入工作。而且,用户在将其所需的三维几何体直接用VRML规范的数据格式实现时存在较大的技术难题,这使得利用VRML建模、仿真效率低下。因此,为解决这些难题,立足于VRML现有的规范,探讨了VRML进行三维仿真的建模算法。2.规则几何体建模算法VRML支持多种规则几何体结构的造型,包括立方体、圆锥体、圆柱体、球体和其他几种几何结构(如拉伸造型和高程网格
4、等)。三维仿真场景包括多个子场景,子场景是由多个仿真实体构成,而每个仿真物体则由若干基本三维几何体构成。因此,这些规则几何体是构建复杂的三维空间环境的基础和前提。三维几何体构造三维仿真场景的过程如图1所示。场景……子场景1子场景2子场景n………………仿真仿真仿真仿真仿真仿真实体实体实体实体实体实体1-11-n2-12-nn-1n-n……三维几何体三维几何体三维几何体……1-1-11-1-21-1-n图1三维几何体构造三维仿真场景过程-1-http://www.paper.edu.cn一个规则的几何体通常由长(Length)、宽(Width
5、)、高(Height)等参数进行描述,通过计算出几何体在三维空间中坐标的连线来实现真实物体或场景的仿真效果。一个真实的事物在计算机中可以认为是由无数个立方体、圆柱体、圆锥体、球体等规则的几何体构成,所以对这些规则的几何体的建模算法进行规范,就可以优化三维仿真的效率。上述四种规则几何体的建模算法可以规范如下:Box//创建立方体{fieldSFVec3fsize2.02.02.0#(0,+∞)}Cone//创建圆锥体{fieldSFFloatbottonRadius1#(0,+∞)fieldSFFloatheight2#(0,+∞)fiel
6、dSFFloatsideTRUEfieldSFFloatbottomTRUE}Cylinder//创建圆柱体{fieldSFFloatradius1#(0,+∞)fieldSFFloatheight2#(0,+∞)fieldSFBoolsideTRUEfieldSFBooltopTRUEfieldSFBoolbottomTRUE}Sphere//创建球体{fieldSFFloatradius1#(0,+∞)}图2展示了利用该算法实现的四种几何体仿真效果。BoxShpereConeCylinder图2四种几何体算法实现的仿真效果-2-htt
7、p://www.paper.edu.cn3.复杂几何体建模算法复杂的几何体通常由任意形状、数量的曲线、曲面组成。在构造复杂几何体之前,可以预先定义一些高级造型节点,如:PointSet、IndexedFaceSet、Extrusion、ElevationGrid和Coordinate节点。如果是简单点和线的造型,而无须填充多边形(如直线、曲线和网格),可以利用PointSet节点中的点集,画出联络的或者离散的点和线;如果是构造任意曲面,可以利用IndexedFaceSet节点;Extrusion节点应用于高效建造管状对象和弯曲对象;Ele
8、vationGrid节点则通常用于绘制地形图形状和建造地形;Coordinate节点是用来为PointSet、IndexedFaceSet等节点定义任意三维构造点的节点,即PointSet、I
此文档下载收益归作者所有