首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
测试测量
» 基于VRML的虚拟机房的设计与实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于VRML的虚拟机房的设计与实现
发短消息
加为好友
Bazinga
当前离线
UID
1023230
帖子
5213
精华
0
积分
2607
阅读权限
70
在线时间
158 小时
注册时间
2013-12-20
最后登录
2015-10-22
金牌会员
UID
1023230
1
#
打印
字体大小:
t
T
Bazinga
发表于 2015-5-5 20:19
|
只看该作者
基于VRML的虚拟机房的设计与实现
虚拟机
,
黑板
VRML(虚拟现实建模语言)是以虚拟现实为特征的3D Web技术的核心,它是一种描述交互式三维对象和世界的文件格式,它允许你去描述一个现有的或想象的景物并将它放入虚拟的三维环境中。随着国际互联网的普及,网络技术和硬件设施的飞速发展,虚拟现实技术将成为今后网络多媒体发展方向的主流。VRML作为一种ISO国际标准将得到越来越广泛的应用。
1 虚拟机房的总体设计
虚拟机房三维立体场景包含机房内的各种三维立体造型,如黑板、电脑桌、电脑椅、电脑、空调、交换机、门窗等。系统总体结构图如图1所示。
2.2 几何建模的实现
VRML2.O有着丰富的造型功能,利用基本几何体Geometry节点和描述物体表面性质的Appearance节点,可以创建各种形态的三维实体;再利用Light节点和Viewpoint节点可以建立光照和视点,从而创建出逼真的虚拟场景。
各子对象的创建主要运用的是几何建模技术,先从形状和外观上进行建模,再添加纹理映射的方法实现建模。纹理数据来自实地用数码相机拍摄的照片。
2.2.1 交换机的建模
现代机房中交换机是必不可少的设备,交换机的建模采用Billboard组节点来实现。值得注意的是Billboard组节点中使用的纹理图背景必须是透明的,这是使用Billboard组节点的关键。通过Billboard组节点可以快速方便地创建一些静态的模型,例如虚拟机房中的空调等都可以用Billboard组节点创建。使用Billboard组节点创建的模型,形象逼真,具有很好的视觉效果;并且代码量小,渲染速度快。
利用Billboard节点创建交换机的源代码如下所示。
Billboard { axisOfRotation 0.0 1.0 0.O
children[Shape{appearance Appearance{
texture ImageTexture {url"jiaohuanji.png"}}
geometry Box{size 3.O 3.0 3.0})]}
运行效果如图3所示。
2.2.2 门的建模
虚拟机房的门是先使用VRML中的IndexedFaceSet面集节点建立造型,再贴上实拍的门的纹理贴图,做出逼真的虚拟门,关键代码如下。
现实生活中的任何物体都是由各个平面组合而成的,而VRML的IndexedFaceSet面集节点就是通过创建物体造型的各个面,再赋予材质和颜色,还可以添加不同的纹理贴图,从而创建逼真的物体造型。利用VRML的IndexedFaceSet面集节点几乎可以创建现实生活中存在的任何物体造型。虚拟机房中的房屋造型、电脑桌、电脑椅、电脑等造型都是使用IndexedFaceSet面集节点创建,再添加上实拍的纹理贴图,创建而成的。
2.3 交互功能的实现
在虚拟机房场景中,使用Touchsensor节点、TimeSensor节点、OrientationInterpolator节点和Script节点,并用ROUTE把各个事件联系起来,创建了门的开、关的交互动作。
在虚拟机房的虚拟场景中,当鼠标指向门时,会出现一个手形指针,这时单击鼠标,门就会缓慢地开开,再单击鼠标,门又会缓慢地关闭。实现代码如下所示。
3 虚拟文件性能优化
三维场景的呈现是通过浏览器已默认视点为参照对场景描述文件的解释而完成的,每当视点发生改变,浏览器就会重新计算场景中各对象的新位置并重新进行渲染,因而会出现当改变视点时,浏览器渲染的速度跟不上视点的变化速度,从而产生停顿的现象。为了解决此问题,采取了如下措施:
(1)最大可能地使用重用机制。在场景内,有不少反复出现的物体,比地板砖、电脑、电脑桌、椅子、灯等,这些对象中形状完全相同者,采用DEF和USE的实例引用法进行复制,极大地简化了文件,减轻了浏览器的负担。
(2)利用Inline节点,减少文件的体积,提高代码的 重用率;
(3)利用LOD细节层次节点实现场景切换技术,实现 同一对象模型的自动转换。为场景中某一对象建立多个不同的模型,当视点离对象较远时采用简单模型,较近时采用细化模型。
4 总结
文章介绍了在线虚拟机房的模型、场景建模技术的详细设计和实现,构建了一个基于VRML虚拟现实建模语言的虚拟机房。VRML具有语法简单、三维建模功能强大、便于网上发布等优点,但仍不能满足各行各业的需求,一些高级交互功能的实现必须借助于Java等功能强大的高级语言来实现。Java和VRML相结合来建立三维虚拟世界,将会在网络上展现更逼真的三维虚拟场景,给使用者更真实的感觉
收藏
分享
评分
the king of nerds
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议