基于三维建模的虚拟测量实验技术研究
2013-09-28周新邵殷智慧
周新邵 杨 武 殷智慧 张 强
(1.湖南城市学院 信息科学与工程学院,湖南 益阳 413000;2.湖南科技大学 地理信息湖南省工程实验室,湖南 湘潭 411201)
1 引 言
随着IT技术和计算机图像显示技术的不断发展,计算机虚拟实验技术已经成为研究热点。知识更新周期的缩短以及知识量成几何倍数的增长,亟需更高效的学习方法,为虚拟实验技术提供了理论需求[1];而计算机软硬件技术,计算机网络技术和计算机图形学技术的飞速发展,为通过计算机网络开展虚拟实验提供了良好的技术支撑[2]。
虚拟实验技术是指利用计算机软硬件资源,开发出虚拟实验场景以及实验所需要的虚拟实验器材,实验者可以像在真实的环境中一样完成各种预定的实验项目,所取得的学习或训练效果等价于甚至优于在真实环境中所取得的效果[3],其具有:透明性、资源共享性、互动操作性、可扩展性、安全性等功能特点。
虚拟实验的概念自1989年美国弗吉尼亚大学的威廉·沃尔夫(William Wolf)教授首次提出以来的20多年中,国内外专家学者进行了广泛研究:美国联邦政府在海洋学、天体物理学和分子生物学三大领域建造了各自的虚拟实验室,开展了一系列探索性研究并取得了实质性进展[4];德国鲁尔大学虚拟实验室是一个有关控制工程的学习系统;清华大学利用虚拟仪器技术构建了汽车发动机检测系统;浙江大学CAD&CGL国家重点实验室开发出了一个虚拟实验室,采用层面叠加的绘制技术和预消隐技术,实现了立体视觉,同时还提供了方便的交互工具[5];吉林大学的汽车动态模拟实验室实现了车身的虚拟设计与制造[6]。
我国人口众多,实验资源价格昂贵,数量有限[1],而虚拟实验只要借助网络技术便能达到相同的目的,所以具有较好的应用前景[7]。本文提出以3DS MAX和VRML技术为支撑,通过构建水准仪虚拟实验模型,添加锚节点实现其在虚拟现实环境中的交互性,证明通过该种方法进行虚拟实验的可行性。
2 关键技术
2.1 虚拟现实建模语言(VRML)
VRML是一种基于www的具有一定规范的描述性格式语言。其最早出现在1994的瑞士日内瓦W3会议上[8],是一种描述因特网上交互式三维多媒体的标准文件格式[9],是与多媒体通讯、因特网、虚拟现实等领域密切相关的技术。
VRML作为一种虚拟现实三维立体网络程序语言,可以在网络上穿件逼真的三维场景,使虚拟世界的真实性和交互性得到更充分的体现。其基本原理是用文本信息描述三维场景在互联网上传输,利用三维图形生成技术在本地机上利用多传感交互技术以及高分辨显示技术,由VRML浏览器解译生成逼真三维虚拟场景[10]。
但是,VRML在构造三维场景需要较多的规范数据,对于构建复杂物体的三维模型时难度较大[11],为了能高效快捷的建立复杂物体的三维模型,可以借用3Dsmax强大的三维建模功能来弥补VRML在建立复杂三维模型中的不足,因此VRML与3Dsmax相结合既能高效快速的建立复杂三维模型,又能保持良好的动态交互效果。
2.2 三维建模软件3DS MAX
3DS MAX是Discreet公司开发的基于PC系统的三维动画渲染和制作软件。在Windows NT出现以前,工业级的CG(Computer Graphics)制作被SGI图形工作站所垄断。3Dsmax与Windows NT组合的出现极大的降低了CG制作的门槛[12]。
3DS Max 2013的新技术可以在短时间内制作出出色的高品质的模型纹理、角色动画和图像。建模与纹理等高性能工具集可快速呈现出栩栩如生的场景。3DS MAX和VRML有机结合,选择合适的建模方法能够构建逼真、美观的模型,使其更好的融入虚拟现实环境,开发出更高规格的虚拟实验。
2.3 水准仪
2.3.1 水准仪结构分析。水准仪是根据水准测量原理测量地面点间高差的仪器。一台水准仪由调焦手轮,微动手轮,度盘,目镜,物镜,检测按钮,水泡反光镜,圆气泡,粗瞄器,脚螺旋,基座等部件构成(如图1)。
图1.水准仪结构示意图
2.3.2 水准仪工作原理。水准测量是利用一条水平视线,并借助水准尺,来测定地面两点间的高差,这样就可由已知点的高程推算出未知点的高程(如图2)。四等水准测量步骤为:1.将水准尺立于已知高程的水准点上作为后视,水准仪置于施测路线附近合适位置,在施测路线的前进方向上取仪器置后视大致相等的距离放置尺垫,在尺垫上竖立水准尺作为前视。2.观测员将仪器用圆水准器粗平后瞄准后视标尺,用微调螺旋将水准管气泡居中,用中丝读后视。3.掉转望远镜瞄准前视尺,再次将水准气泡居中,用中丝读数,记录并计算数据。4.重复上述步骤,直至完成整个测量工作。
图2.水准测量原理
3 模型的构建与实验
3.1 水准仪虚拟器材的构建
水准仪虚拟实验器材模型的构建参照水准仪实物图进行,依次构建出水准仪各个部件的3Dmax模型,然后进行有机的组合,形成完整的水准仪虚拟实验模型。构建过程中要不断的对部件进行组合,这样做的目的是为了减少输出的代码数量。
构建的水准仪主要有以下部件:镜身、镜头、物镜、目镜、瞄准器、水平旋转螺旋、横轴、底盘、水平度盘、脚螺旋、基座、圆水准器。
下面仅列举镜头和瞄准器的制作过程:
镜头的制作:在前视图中画一个圆柱体,调节它的半径比镜身半径稍小。点击右键将它转换成可编辑多边形,选择面编辑对象,点击一端的圆面,按delete键将它删除,切换到边界编辑对象,选择刚才我们制作出的边界,选择缩放命令,按住shift键,分别鼠标向里稍微缩放复制、沿高方向移动复制。如图3(a)。再次沿着圆面向里缩放复制,就剩下一个小圆口时,选择编辑器中的封口命令,打开材质编辑器,选择黑色材质,拖动鼠标添加到编辑对象,图3(b)。
图3.水准仪镜头
瞄准器的制作:首先,在前视图中画一个圆柱体,调节并记下半径和高度。在前视图中再创建一个圆柱体,调节它的参数,使它的边数为三。如图4(a),移动两个物体使三角柱的三角形内接于圆柱面中,并且三角柱两端都露出来。选择符合对象模式,通过波尔命令中的拾取波尔操作,使其达到相应的效果,最后对它添加黑色的材质,图4(b)。
图4.水准仪瞄准器
水准仪虚拟实验模型四视图效果如图5所示:
图5.虚拟水准仪模型四视图
3.2 虚拟水准仪代码
从3Dmax中倒出水准仪场景文件,命名为“水准仪.wrl”,用VrmlPad编辑器打开:
可以看到,所构建的水准仪模型各个部件在程序中都是坐标变换节点“Trainsform”。注意,在导出对话框中选择Indentation,选择该项会使输出的VRML源代码以缩格形式编写,便于阅读与修改;选择Primitives,将尽可能的将三维场景以VRML 2.0原始造型的形式输出,这将有利于减小输出的VRML文件的大小。
3.3 锚(Anchor)节点
以上构造的水准仪模型在虚拟现实环境中可以进行旋转和缩放操作,实现各角度,全方位的浏览,但是不具有交互功能,而我们设计虚拟实验的目的恰恰是使水准仪具有交互功能,因此,我们需要为其添加锚节点[13],锚节点功能类似超链接,当鼠标单击某个部位时,可以弹出提示或是实现场景的跳转,实现部件的相关操作与功能。
锚节点包括:Children公共域、Description公共域、bBoxsize域、bBoxCenter域、Param eter域、Url域、Container Field域和 Class域等。其具有 2个主要事件:event Out出事件和 event In入事件,出事件涉及 Param eter_changed域Description_changed域,作用是传出参数和描述的变化;入事件的作用主要是添加或删除children节点[14]。
为水平旋转螺旋添加锚节点(本实验只对水平旋转螺旋添加锚节点进行验证,其它部件锚节点的添加步骤相同。),当鼠标指向该节点时,出现提示文字“Turn Left/Turn Right”,当鼠标单击时,弹出该节点的功能详细描述,并实现螺旋的调节功能。水平旋转螺旋插入锚节点以后的代码如下:
4 结束语
借助3DS MAX软件和VRML虚拟建模语言设计虚拟实验过程,构建虚拟实验模型,为水准仪的水平旋转螺旋添加锚节点,在实验中鼠标指向该节点时,弹出提示信息“Turn Left/Turn Right”,当鼠标单击时触发该事件,完成螺旋的旋转操作。实验得结果表明:1.用3DS MAX构建虚拟实验模型,与VRML相结合进行交互的虚拟实验方法可行。2.使用3DSMAX能够高效快捷地建立复杂物体的三维模型,借助VRML中的锚节点功能可以实现实验对象在虚拟现实环境中的良好交互。3.基于3DS MAX和VRML的虚拟实验方法有助于用户更好地了解及使用实验器材。
文章探讨了借助3DS MAX和VRML进行虚拟实验的可行性。限于时间,仅对水准仪进行了三维建模,且重点对该仪器的水平旋转螺旋添加锚节点进行了交互实验,其他功能及仪器的虚拟实验有待于进一步探讨。随着计算机和网络技术的发展,建立基于WEB服务的三维虚拟实验系统共享平台是虚拟实验技术的发展方向。
[1]熊焰,姚俊.在线仿真物理化学虚拟实验系统的开发[J].化工高等教育,2012,(1):26-29.
[2]董辉,马建.基于虚拟密网的网络攻防实验平台的构建[J],齐齐哈尔大学学报,2012,(2):67-71.
[3]朱敏.虚拟实验与教学应用研究[D].华东师范大学,2006.
[4]陈明明.桌面虚拟实验中学习者知识构建和迁移的影响因素研究[D].浙江师范大学,2011.
[5]赵越.基于B-S模式的组成原理虚拟实验系统的设计与实现[D].吉林大学,2007.
[6]李笑,董云耀.基于web的虚拟实验室的研究与设计[J].计算机与数字工程,2006,(2),133-134.
[7]卢永清.在实验教学中引入虚拟实验技术的研究[J].达县师范高等专科学校学报,2005,(2):58-60.
[8]Using unfamiliar platforms in software engineering projects[J].Hall,Gregory A.Source:Inter-national Conference on Information Technology,2005,(4):315-318
[9]王鸣,刘喜昂,宋蔚.基于VRML的虚拟实验系统研究[J].现代电子技术,2006,(15):105-112.
[10]朵天林.基于虚拟实验技术的摄像实验仿真系统[D].华中科技大学,2006.
[11] Virtual lab:Bring the hands-on activity to online courses[J].Yang,Biwu Source:ASEE Annual Conference Proceedings,1999.
[12]百度百科.http://baike.baidu.com/view/179088.htm,2013-01.
[13]屈剑锋,郭茂耘.一种基于锚节点分簇的传感器网络节点定位方法[J].计算机应用研究,2011,(9):3471-3474.
[14]王昊鹏,贾新宇.Anchor 节点实现 VRML 虚拟场景跳转[J].计算机与信息技术,2006,(7):88-90.