分类筛选
分类筛选:

网络环境方面硕士学位论文范文 和基于网络环境的三维对象编辑类在职开题报告范文

版权:原创标记原创 主题:网络环境范文 类别:毕业论文 2024-01-22

《基于网络环境的三维对象编辑》

该文是网络环境方面硕士学位论文范文与网络环境和对象编辑研究和对象相关毕业论文格式范文。

摘 要:三维空间对象的编辑是当前研究的热点,提出一种利用关系数据库存储三维空间对象,通过插件方式显示三维模型,利用JS建立模型与网页之间的通信,从而实现在客户端进行三维空间对象的并发编辑的方法,对三维网络GIS研究有一定的参考价值.

关键词:VRML;三维对象编辑;通信连接;VrmlScript

中图分类号:TP391文献标志码:ADOI:10.3969/j.issn.1674-9146.2018.07.090

经过30多年的发展,我国地理信息系统(GeographicInformationSystem,GIS)的理论和技术逐渐完善,三维GIS的优势也逐渐凸显,成为目前GIS发展的重要方向之一.网络三维GIS(以下简称Web3DGIS)主要是在虚拟现实和三维可视化技术构建的网络环境下,利用虚拟现实建模语言(VirtualRealityModelingLanguage,VRML)建立的基于超文本标记语言(HyperTextMarkupLanguage,HTML)的三维地理信息系统,该系统能更真实地展示场景,操作也更方便.

1VRML及其节点介绍

VRML是一种能够构建三维造型和对造型进行渲染从而能让三维场景更加逼真的虚拟现实建模语言[1].其工作原理就是用代码所包含的文本信息描绘三维场景,再通过Internet网络传输,最后在本地机上由VRML的浏览器解释后生成三维场景[2].二维世界缺乏的立体感和真实性都能够在VRML中逐渐表现出来,并且有可能成为未来Internet中的三维标准.与传统二维HTML对比,VRML描述三维对象更简单,而且使用简便,没有编程基础的开发者都能使用.

VRML是一种ASCII的描述语言,把节点作为最基本的元素.节点可以分成图形和非图形两类,图形节点包括组节点、几何节点等;非图形节点包括声音传感器、触摸传感器等触发事件和动画的节点.每种节点都是由若干个域、事件组成,并且节点都是以现实中物体为基础,在表达出三维对象的同时也包含物体的某些关系.

本文重点利用crossSection节点、IndexedFaceSet节点和Script节点来建立三维模型进而实现三维对象编辑等功能.crossSection节点,旋转体是由挤出剖面沿着脊线方向挤压变化而成的形体.IndexedFaceSet节点,其中coordIndex域内的索引值列表是与coord域内的Coordinate节点相对应的,按照坐标列表索引的顺序向后连接就是所构建三维模型的底图,直到索引列表的末尾或者出现-1的索引值.Script节点,可以看做是一个节点,但与普通节点不同的是,它包含一个脚本程序.通过接收eventIn事件调用函数,将处理后的数据作为eventOut事件发送出去,最终达到控制脚本节点动作的目的[3].

2三维模型的建立

目前市面上比较主流的VRML浏览器主要有Live3D,BSContact等,它们都能把读入的VRML代码文件通过浏览器解释成图像.主流的VRML创作工具有NotePad,Edit和VRMLPad编辑器.

下面以安徽理工大学山南校区部分教学楼模型构建为例,介绍三维模型的建立过程.安徽理工大学山南校区部分教学楼模型采用的是VRMLPad编辑器和BSContact浏览器.在编辑器中通过最基本的造型设计,如Background节点、Viewpoint节点,调整出合适的天空和地面的颜色以及合适的观察位置,再用一个Group组创建教学楼的所有模型,其中每一个三维模型都是由DEF定义.以下是测绘楼模型代码和场景图片(见图1).

DEFce_huiTranorm{

children[

Shape{

appearanceAppearance{

materialMaterial{

diffuseColor0.34510.56470.8824

}

}

geometryExtrusion{

crossSection[

501162.061193603401.30163,

501218.8353183603401.02049,

501218.8348033603381.91461,

501218.835233603372.08001,

501203.6951943603372.08004,

501176.119443603382.47612,

501176.1191313603383.59977,

501172.334283603383.60043,

501172.3341173603380.22838,

501177.200383603380.22832,

501177.2004763603365.6176,

501172.334443603365.61794,

501172.334473603363.36989,

501218.835483603363.36958,

501218.8351973603309.70363,

501161.52023603309.7031,

501161.5199093603329.93329,

501208.020673603329.93316,

501208.0209643603348.75879,

501162.060853603349.32064,

501162.061193603401.30163]

spine[0.00.00.0,

0.0400.0,]

scale11

orientation0050

convexFALSE

}

}

]

}

3VrmlScript和JaScript的通信设计

VrmlScript是主要面向VRML而开发出的语言,是JaScript在VRML方面的拓展语言,以JaScript的基本语法为基础,在此之上增加了一些只适用于VRML的对象和方法,它可以接收事件、处理事件,最后产生的输出事件经路由发送回需要执行的节点[4].事件作为获取和传递信息的媒介,可以分为入事件和出事件,入事件是先传递某些信息来改变节点的状态;出事件是将处理后的信息通过节点传递给外界.在本例中,三维实体编辑的主要功能实现在于VrmlScript和JaScript语言在模型参数传递中的通信设计.

3.1集成开发环境配置

本次三维对象编辑需要一个集成开发环境(IntegratedDevelopmentEnvironment,IDE)嵌入场景,目前市场上有很多比较流行的集成开发环境的应用程序,如微软系列的VirtualStudio,不仅拥有代码编辑、代码生成、界面设计和建模等功能,而且在构建动态应用程序以及搭建网站方面都有很高的造诣.

基于VisualStudio配置的网络环境,通过object标签将VRML三维实体嵌入到HTML页面,具体由下面代码实现.

<OBJECTCLASSID等于"CLSID:4B6E3013-6E45-11D0-9309-0020AFE05CC8"NAME等于"3DModelEditor"ID等于"3DEditor">

<PARAMNAME等于"SRC"VALUE等于"E:\Website20\model.wrl">

<EMBEDname等于"3DModelEditor"SRC等于"E:\Website20\model.wrl"TYPE等于"application/x-cc3d"/>

</OBJECT>

3.2坐标建立三维实体

HTML为事件的传递提供响应的条件,其中主要是input标签中的Button类型和textarea类型.Button按钮主要是生成、增加和删除三维对象事件的直接响应,textarea的文本区主要是大地坐标(这里指西安80大地坐标系)和楼层高的数值输入;CSS可以通过style属性用id控制场景、按钮和文本区在页面的布局方式.

通过HTML中链接到的js文件可以建立HTML页面和VRML文件的通信连接.首先获取大地坐标输入的文本区value值.为了防止输入坐标为空而导致模型无法构建,再使用一个if语句判断文本区value值是否为空,若为空则弹出提示语句,否则就再调用一个if语句判断输入楼层的value值是否为空.需要注意的是,第二个if语句需要在第一个if语句里,以防止出现输入坐标但是未输入楼层高而造成的页面加载错误.其次节点添加到场景是通过定义字符串的方式把一个VRML的Tranorm节点定义为一个字符串变量,并将楼层value值的赋值变量加入该变量.为了建立VRML文件与HTML页面的连接,需要VrmlScript语言中的addVrmlFormString()属性将上面的最终变量传递到VRML文件中,最终实现在VS配置的网络开发环境下显示出大地坐标建立的三维实体对象.

3.3删除功能的具体实现

编辑功能是基于三维模型的生成,用真实的大地坐标建立的三维对象进行各种增加、删除的功能.其中Script节点中的field,eventIn和eventOut语法是在Script节点url域下对程序脚本的接口进行定义.一个Script节点内可以定义多个field域、eventIn事件和eventOut事件,负责Script脚本间事件的传递[5].这里使用JaScript中的getElementById()方法获取删除按钮的id,用onclick调用在js文件中的删除函数,通过option[].selected属性获取下拉框的值,为了正确选择删除对象,用switch语句判断对象是否为空,不为空就在合适的case语句中使用VrmlScript特有的输入事件方法setNodeEventIn,即调用setNodeEventIn就是执行VRML文件的Script相应的函数名,当调用该函数时,Script中对应函数会新建一个MFNode类型的变量,将需要删除的变量通过JaScript和VrmlScript各响应事件的传递赋值给该MFNode类型变量.为了实现最终目标模型的删除,这里需要一个ROUTE语句来将MFNode变量传递给removeChildren,因为模型都在同一个Group组节点中,所以从Children中移除也就意味着删除功能的实现.

3.4增加功能的具体实现

三维对象的增加功能是在生成模型的基础上,将Tranorm节点定义为拥有完整children,Shape结构的模型变量,通过addVrmlFormString()属性将在js文件中定义好的节点通过VrmlScript增加到VRML文件中.因为定义的变量包含带有西安80系的X坐标、Y坐标的节点,所以会在真实的地理坐标位置上建立出模型,实现三维对象的增加功能.本文中对三维对象编辑的界面分为模型区域(见图2)和功能区(见图3).

4结束语

随着互联网技术的发展,VRML和JaScript的应用更加广泛,对三维对象编辑更多功能的开发刻不容缓.本文利用JaScript中的按钮调用事件的基本传递形式与三维场景中的模型进行交互,再使用VrmlScript中的setNodeEventIn和addVrmlFormString方法将传递的值赋予VRML文件,从而实现对三维实体对象的增加、删除功能,这为三维模型编辑操作实现更多的功能提供了技术支持,为用户提供了更真实的三维模型认知体验.

参考文献:

[1]黄文丽,卢碧红,杨志刚,等.VRML语言入门与应用[M].北京:中国铁道出版社,2003.

[2]丘威,钟治初,张立臣.基于Web3D的虚拟场景漫游的设计与实现[J].微计算机信息,2007(9):259.

[3]许秒忠.虚拟现实中三维地形建模和可视化及算法研究[D].武汉:武汉大学,2003.

[4]马立元,杨孝平.一种虚拟场景控制方法的研究与实现[J].计算机应用研究,2004(6):237-239.

[5]陈正江,汤国安,任晓东.地理信息系统设计与开发[M].北京:科学出版社,2005.

(责任编辑尚晓春)

网络环境论文参考资料:

环境论文

网络营销相关论文

网络论文

环境工程论文

生态环境保护论文3000

环境污染论文

此文结束语:这篇文章为一篇关于对写作网络环境和对象编辑研究和对象论文范文与课题研究的大学硕士、网络环境本科毕业论文网络环境论文开题报告范文和相关文献综述及职称论文参考文献资料有帮助。

和你相关的