首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于虚拟现实的三维户型展示系统
来源:本站整理  作者:佚名  2009-07-23 15:40:20



摘要:通过3D Studio MAX结合Cosmo World、VrmlPad和Java语言制作虚拟场景,嵌入网页来展示小区户型及其周边环境,在二维导航图中实现视点跳转、实时导航,在虚拟环境中进行交互操作,使人们对三维小区户型和其周边环境具有强烈的身临其境感,增强了宣传效果。
关键词:虚拟现实;导航;人机交互;三维户型


1 引言
    随着计算机技术的发展,虚拟现实在社会生活中的应用越来越广泛。虚拟现实技术具有强烈的“身临其境”沉浸感,友好亲切的人机交互性,激发人想象的刺激性。人机交互系统不断创新,为虚拟现实系统的发展打下了良好的基础;与Web技术的结合更使虚拟现实技术引起人们更为广泛的关注,利用虚拟现实技术人们可在三维虚拟环境下更深入地交流。
    建筑微缩模型、效果图、三维动画是传统的建筑表现方法。其中,建筑微缩模型只能获得建筑鸟瞰模型,无法以人的视角来感受建筑空间;效果图只能提供静态局部的视觉体验;三维动画虽有较强的动态三维表现力,但不具备实时的交互性。而利用虚拟现实演示三维户型,人们能够在虚拟的三维环境中,以动态交互的方式对未来的房屋或小区作身临其境的全方位审视:可从任意角度、距离和细致程度观察场景;可选择并自南切换多种运动模式,如:行走、跑步等,并可自由控制浏览路线;漫游过程中,还可实时切换比较多种设计方案、多种环境效果。将虚拟现实技术引入户型远程展示,为房产公司、装修公司等相关企业开辟了一种新的产品展示方法。


2 三维户型的远程展示及系统简介
2.1 系统模块
    三维户型远程展示系统可分为虚拟场景和导航图两大模块,其中,虚拟场景又可分为住宅小区周边环境的三维虚拟展示和多种房屋户型及其装修效果的三维虚拟展示两部分。虚拟场景的制作步骤如下:首先,在3D SMAX中建立房屋或室外楼盘的三维模型,并将其转化为.wrl文件导出;然后,用Cosmo Worlds打开.wrl文件,设置其材质、导航、视点;同时也可打开VrmlPad 2.0精确定位各个虚拟对象,编写代码设置灯光、背景、脚本语言等;最后,将其嵌入到网页中,安装CortvrmlPlayer后即可打开浏览。使用键盘、鼠标或Cortvrml Player自带的按钮在场景中自由走动,与虚拟场景进行互动。制作导航图时,首先转换事先准备的房屋户型图,由原来的.bmp文件转化为.gif的动态文件,然后再制作1张只有“@”符号的.gif图片,添加相应的HTMEL语言和VRML语言即可实现时时导航,同时添加相应的按钮,以便在各个场景之间进行跳转。
2.2 关键节点设置
    虚拟现实建模语言VRML(Virtual Realitv Modeling Lan-guage)可实现各个虚拟对象和场景的精确定位,对三维环境设置变换节点、视点节点、导航节点和Script节点,这是三维导航的基本条件。
2.2.1 Transform(变换)节点的设置
    在虚拟场景中的每个造型都是基于当前的坐标系创建的,如果希望场景中的造型改变空间位置和空间朝向,就需要变换造型创建所基于的空间坐标系。Transform是为其子项定义坐标系统的组节点。常用的Transform节点格式如下:

   

   
    其中,translation表示平移,其后的3个数字分别表示在X轴,Y轴和Z轴方向平移的坐标位数;rotation表示旋转量,其后的3个数字表示新坐标系的原点坐标,最后1位数字表示旋转角度,单位是rad,两原点的连线是旋转的轴;scale表示缩放,它设定了造型在子坐标系3个坐标方向的缩放因子,3个值分别表示在X,Y,Z轴方向的缩放,该域值始终大于0.0,当小于1.0时是缩小,大于1.0时是放大。其默认值1.0表示不发生缩放。translation域指定变换量,允许将transform的子节点移动到其他位置。rotation域指定旋转的轴和角度。scale域指定缩放比例,各轴向缩放比值可不相等。
2.2.2 Viewpoint(视点)节点
    Viewpoint视点节点定义了处于局部坐标系中的一个指定位置,用户可以从该点观察场景。设置此节点,用以控制三维场景中的起始位置。常用的Viewpoint格式如下:

   
    公共域position值为一个三维坐标,用于当前坐标系中视点的定位。公共域orientation值提供了一个视点绕其旋转的旋转轴,旋转角度指定了绕此轴旋转的数值。公共域fieldOfView的值表示一个角度,单位是rad,指定了视点的展开角度。
2.2.3 Navigationinfo(导航信息)节点
    导航信息节点和视点节点分工协作,视点节点描述如何去看一个空间,而导航信息节点则描述如何在这个空间中移动。下面结合一个导航信息节点的实例,来解释其中的参数。

   
    avatarSize域是对虚拟环境中的替身的外表描述,它在VRML中可创建丰富的动画效果,而动画的完成则借助于传感器节点和插补器节点,其中,最重要的传感器节点是时间传感器TimeSenor,插补器则包括颜色插补器、坐标插补器、法线插补器、朝向插补器、位置插补器及标量插补器等。headLight域设置VRML场景中系统缺省使用的替身头灯,缺省为TRUE,表示使用替身头灯,若为FALSE,表示关闭该系统默认的头灯。speed域表示替身在场景中的漫游速度,单位是unit/s。type域为导航类型,共有5种方式:FLY(飞行方式)、WALK(行走方式)、EXAMINE(观察方式)、ANY(任意方式)及NONE(不使用任何方式)。visibilityLimit域表示观察者在最大观察距离内没有观察到任何对象,浏览器只显示空间背景。
2.2.4 Script节点
    Script节点描述一个创建用户自定义的检测器和捕补器,它使用一个接口来定义一个用户自定义节点的field,eventIn事件和eventOut事件。程序脚本定义处理这些事件的动作,程序脚本可由任何语言编写,一般常用的是javaScript和VRMLScript。Script节点的mustEvaluate域决定程序脚本的求值方式,而directOutput域则说明程序脚本的输出是否受限。


3 系统展示
    三维户型远程展示平台可采用HTML和VRML,HTML语言开发一个网页,VRML实现三维漫游功能,借助于插件提供的交互功能,用户可在选中的住宅小区或是套房内部漫游,详细查看其结构、设计、装潢及周边环境。场景还提供丰富的多媒体信息,如3D声音、视频、图象和文本等,模拟虚拟现实,充分满足人们的感官要求,让用户体验一种置身其中的感觉,同时在二维矢量图中显示用户当前的位置。展示功能如表1所示。

    整个系统展示分为系统与房型界面两部分,主界面(图1)为室外周边环境,点击户型演示,可进入具体的房屋(图2为一套四室二厅一卫的房屋),可在房屋中浏览,点击返回按钮,即可返回主界面,再点击户型演示二,又可进入另一套房屋。

4 系统分析
    基于虚拟现实的三维户型远程展示系统集合了VRML语言的众多优点,具体表现在:
    (1)交互性强 在基于虚拟现实的三维户型远程展示系统,通过交互节点可以实现与浏览者的实时交互,VRMAL提供Java、Javascript、Xml、Flash等网络对象的支持,VRML也支持MPG、Flash、Realplayer等流媒体视频格式;系统场景的渲染是实时的,完全不同于基于关键帧三维动画,应用雾、立体声、实时灯光渲染等特效,增强了场景的真实感和用户的切身体验感。系统提供的常用交互方式有:飞行、行走、自动导览等浏览方式;碰撞、重力等动力物理学模拟;导航地图;背景音乐、语音提示;场景物体互动(开、关门等);视频文件播放(.swf、.mpg、.rm格式支持);网页链接;三维场景切换。
    (2)可支持多种运行环境、视觉效果好 系统中的场景浏览系统可运行于PC、MAC、Unix等机型;同时支持多种主流操作系统;运行环境包括单机、局域网、广域网,即系统经简单修改甚至无需修改就可在各种环境中运行,这与前期的场景设计有关;VRML浏览器支持IE、网景等主流浏览器;支持Directx、OpenGL三维API,同时Vrml浏览器内置硬件、软件渲染切换,在速度较慢的计算机中,将自动降低场景特效,以保证场景浏览的流畅性。
    (3)系统后期维护方便 由于VRML文件格式为文本文件格式,可直接在任何文本编辑软件中修改,Vrml脚本为JavaScript脚本,也可在文本编辑软件中编辑、修改,方便现场调试和增加新的功能;另外Vrml文件也提供二进制文件格式,其大小约为文本格式的1/10,可由专业VRML开发软件再编辑、开发。


5 结语
    虚拟现实技术与网络技术相结合,有着非常广阔的发展前景,其发展将给互联网带来全新的变革,这将是一次从二维到三维的飞跃。开发一个虚拟的场景并将其嵌入到网页来演示小区户型及其周边环境,通过二维导航图来实现视点跳转和实时导航,将虚拟现实技术引入三维户型远程展示,将提升建筑开发公司的市场拓展方法,有利于宣传效果。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:379,859.40000 毫秒