VRML在室内设计中应用

上传人:仙*** 文档编号:64687439 上传时间:2022-03-22 格式:DOC 页数:49 大小:715.50KB
返回 下载 相关 举报
VRML在室内设计中应用_第1页
第1页 / 共49页
VRML在室内设计中应用_第2页
第2页 / 共49页
VRML在室内设计中应用_第3页
第3页 / 共49页
点击查看更多>>
资源描述
摘要VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。 是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模 语言,也具有平台无关性。是目前 In ternet 上基于WWV的三维互动网 站制作的主流语言。VRML是虚拟现实造型语言(Virtual Reality Modeling Language ) 的简称,本质上是一种面向 web,面向对象的三维造型语言,而且它是 一种解释性语言。VRML勺对象称为结点,子结点的集合可以构成复杂的 景物。结点可以通过实例得到复用,对它们赋以名字,进行定义后,即 可建立动态的VR (虚拟世界)。VRML不仅支持数据和过程的三维表示,而且能提供带有音响效果的 结点,用户能走进视听效果十分逼真的虚拟世界(如简易迷宫、国际象 棋)。用户使用虚拟对象表达自己的观点,能与虚拟对象交互,为用户 对具体对象的细节,整体结构和相互关系的描述带来的新的感受。本文主要介绍了以VRM为工具实现室内布线可视化,将室内装修和 布线数字化形式呈现在您面前。设计的制作利用了虚拟现实建模语言 VRML三维动画渲染和制作软件 3DmaX等将标准户型家具家装室内灯光 和室内布线,生动地表达出来。它的目的是使人们可以身临其境的观察 和调整室内布局和布线。主要包括了:家具的建模,灯光布置,室内框 架建模,室内布线等。关键词:多媒体 数字化 虚拟现实 VRMLAbstractVRML (Virtual Reality Modeling Language) or virtual realit y modeling language. For the establishment of a real-world peo ple to the scene model or a fictional scenario of three-dimens ional modeling of the worlds languages, also has a platform-i ndependent nature. Internet is the www-based three-dimensional interactive website produced by the mainstream language.VRML is Virtual Reality Modeling Language (Virtual Reality Modeling Language) in short-oriented nature is a web, the thr ee-dimensional object-oriented modeling language, and it is an interpretative language. VRML node called the target, sub-nod e can be a complex collection of features. Examples of node ca n be reused, enabling them to name, define, you can create a d ynamic of VR (virtual world).VRML is not only to support the data and said three-dimens ional process, but also with sound effects provided by the nod e, the user can enter the audio-visual effect is very realisti c virtual worlds (such as the simple maze, chess). Virtual obj ect users to express their views, can interact with the virtua l object, the object for the user to the specific details of t he relationship between the overall structure and the descript ion of the new feelings.This paper introduces VRML as a tool to achieve the interi or layout visualization, the interior decoration and wiring in a digital format before you. The design of the production use of Virtual Reality Modeling Language VRML, animation and rend ering software, such as the standard units 3Dmax furniture and indoor decoration lighting indoor wiring, vividly expressed. Its purpose is to allow people to observe and adjust the immer sive indoor layout and wiring. Mainly includes: Modeling furni ture, lighting layout, interior framework for modeling, such a s indoor cabling.Keywords: digital multi-media virtual reality VRML目录1 虚拟现实概述 21.1虚拟现实简介 21.2 虚拟现实技术发展概述 21.3 虚拟现实系统的研究现状 31.4 虚拟现实技术的主要特征 41.5 论文研究的目的和意义 52 虚拟现实建模语言 VRML 62.1 VRML 简介 72.2 VRML 的发展历程 72.3 VRML 的应用 92.3.1 VRML 典型的应用领域 92.3.2成功案例 103 VRML的工作原理及基本特性 113.1 VRML的文件结构 123.1.1 文件头 123.1.2 文件注释 123.1.3 节点 133.1.4 事件和路由 163.2 VRML的基本节点 173.2.1 Shape 节点 173.2.2 群节点 183.2.3 环境节点 203.2.4 Viewpoint 与 Navigationinfo 节点 203.3 VRML的高级节点 213.3.1 动态节点 213.3.2 传感器节点 223.3.3 Script 节点 244 室内装饰布线设计与展示系统实现的关键技术 264.1 三维虚拟场景的建模 264.2 VRML三维模型的生成 274.3 VRML文件导出及优化 304.4 简单交互性建模 334.5 复杂交互功能的实现 375基于VRM室内布线可视化系统的实现 385.1 系统设计目标 385.2 室内综合布线注意事项和设计标准 385.2.1家庭弱电布线施工规范与工艺 385.2.2布线设计注意事项 415.3 整体规划和设计步骤 445.3.1整体设计规划 445.3.2具体设计流程和步骤 456 结 论 51致 谢 52参考文献 531 虚拟现实概述1.1 虚拟现实简介虚拟现实技术( Virtual Reality ),又称灵境技术,是 90 年代为 科学界和工程界所关注的技术。它的兴起,为人机交互界面的发展开创 了新的研究领域;为智能工程的应用提供了新的界面工具;为各类工程 的大规模的数据可视化提供了新的描述方法。这种技术的特点在于,计 算机产生一种人为虚拟的环境,这种虚拟的环境是通过计算机图形构成 的三度空间,或是把其它现实环境编制到计算机中去产生逼真的“虚拟 环境”,从而使得用户在视觉上产生一种沉浸于虚拟环境的感觉。这种 技术的应用,改进了人们利用计算机进行多工程数据处理的方式,尤其 在需要对大量抽象数据进行处理时。同时,它在许多不同领域的应用, 可以带来巨大的经济效益。1.2 虚拟现实技术发展概述1965年,Sutherland在篇名为 的论文中首次提出了 包括具有交互图形显示、力反馈设备以及声音提示的虚拟现实系统的基 本思想,从此,人们正式开始了对虚拟现实系统的研究探索历程。随后的1966年,美国MIT的林肯实验室正式开始了头盔式显示器的 研制工作。在这第一个 HMDI勺样机完成不久,研制者又把能模拟力量和 触觉的力反馈装置加入到这个系统中。 1970年,出现了第一个功能较齐 全的HMD系统。基于从60年代以来所取得的一系列成就,美国的 Jaron Lanier 在 80 年代初正式提出了“ Virtual Reality ”一词。80年代,美国宇航局(NASA及美国国防部组织了一系列有关虚拟 现实技术的研究,并取得了令人瞩目的研究成果,从而引起了人们对虚 拟现实技术的广泛关注。1984年,NASA Ame研究中心虚拟行星探测实 验室的 M.McGreevy 和 J.Humphries 博士组织开发了用于火星探测的虚 拟环境视觉显示器,将火星探测器发回的数据输入计算机,为地面研究 人员构造了火星表面的三维虚拟环境。在随后的虚拟交互环境工作站(VIEW项目中,他们又开发了通用多传感个人仿真器和遥现设备。进入 90 年代,迅速发展的计算机硬件技术与不断改进的计算机软件 系统相匹配,使得基于大型数据集合的声音和图象的实时动画制作成为 可能。人机交互系统的设计不断创新,新颖、实用的输入输出设备不断 地进入市场。而这些都为虚拟现实系统的发展打下了良好的基础。例如 1993 年的 11 月,宇航员利用虚拟现实系统成功地完成了从航天飞机的 运输舱内取出新的望远镜面板的工作,而用虚拟现实技术设计波音 777 获得成功,是近年来引起科技界瞩目的又一件工作。可以看出,正是因 为虚拟现实系统极其广泛的应用领域,如娱乐、军事、航天、设计、生 产制造、信息管理、商贸、建筑、医疗保险、危险及恶劣环境下的遥操 作、教育与培训、信息可视化以及远程通讯等,人们对迅速发展中的虚 拟现实系统的广阔应用前景充满了憧憬与兴趣。1.3 虚拟现实系统的研究现状 计算机的发展提供了一种计算工具和分析工具,并因此导致了许多 解决问题的新方法的产生。虚拟现实技术的产生与发展也同样如此,就 虚拟现实本身而言,它主要涉及到三个研究领域:(1)通过计算机图形方式建立实时的三维视觉效果;( 2)建立对虚拟世界的观察界面; (3)使用虚拟现实技术加强如科学计算技术等方面的应用。如图 1-1 表示的是虚拟现实系统领域的组成示意图。虚拟现实研究图1-1虚拟现实系统领域的组成示意图1.4虚拟现实技术的主要特征多感知性(Multi-Sensory )-所谓多感知是指除了一般计算机技 术所具有的视觉感知之外,还有听觉感知、力觉感知、触觉感知、运动 感知,甚至包括味觉感知、嗅觉感知等。理想的虚拟现实技术应该具有 一切人所具有的感知功能。由于相关技术,特别是传感技术的限制,目 前虚拟现实技术所具有的感知功能仅限于视觉、听觉、力觉、触觉、运 动等几种。浸没感(Immersion)-又称临场感,指用户感到作为主角存在于 模拟环境中的真实程度。理想的模拟环境应该使用户难以分辨真假,使 用户全身心地投入到计算机创建的三维虚拟环境中,该环境中的一切看上去是真的,听上去是真的,动起来是真的,甚至闻起来、尝起来等一 切感觉都是真的,如同在现实世界中的感觉一样。交互性(Interactivity )-指用户对模拟环境内物体的可操作程度和从环境得到反馈的自然程度(包括实时性)。例如,用户可以用手去 直接抓取模拟环境中虚拟的物体,这时手有握着东西的感觉,并可以感 觉物体的重量,视野中被抓的物体也能立刻随着手的移动而移动。构想性(Imagination )-强调虚拟现实技术应具有广阔的可想像空间,可拓宽人类认知范围,不仅可再现真实存在的环境,也可以随意构 想客观不存在的甚至是不可能发生的环境。一般来说,一个完整的虚拟现实系统由虚拟环境、以高性能计算机 为核心的虚拟环境处理器、以头盔显示器为核心的视觉系统、以语音识 别、声音合成与声音定位为核心的听觉系统、以方位跟踪器、数据手套 和数据衣为主体的身体方位姿态跟踪设备,以及味觉、嗅觉、触觉与力 觉反馈系统等功能单元构成。1.5 论文研究的目的和意义 迅速发展的科学技术对建筑行业产生了巨大的冲击,计算机科学止 从多方面改变着传统的设计观念、 设计方法和表现手段。 传统的家居设 计师一般采用效果图来表达设计思想,但效果图只能静态地表现整个设 计的某一视角,拟现实技术的出现为室内设计师和用户设计、评价方案 提供了新的技术手段。作为一种辅助设计手段,虚拟现实技术改变了传 统的设计方式,不但可以简化设计流程,缩短设计周期,更重要的是较 大程度地提高了设计质量圈。设计师在设计期间可以随时看到与实物最 接近的三维设计结果,并以虚拟现实技术提供的各种交互方式直接与其 设计对象进行交互,这有助于设计师更加准确地了解形体、空间、色彩、 光照、布线乃至声学效果,从而对设计做出修改和补充,这样一个过程 自然地符合了设计思路。设计以满足用户的需求为最终目标作为一种展示手段。拟现实技术为用户参与设计过程、进行决策提供了极大的方便。利 用虚拟建筑的真实性,设计师以最直观的方式向用户呈现其设计意图, 用户通过在虚拟建筑中漫游, 获得最直观的体验, 对其做出相应的评价。 另一方面,在虚拟的三维空间中,用户可以实时比较不同的设计方案, 以便进行下一步决策。事实上,用户不但能够对不同方案进行比较,甚 至可以直接通过各种交互手段提出某些修改意见,并实时地与修改前的 方案进行分析比较。传统电子商务网站多以文字、二维图片和 flash 展示、发布产品信 息顾客在浏览产品、查询产品信息时缺乏互动,没有真实购物体验,这 与现实中企业和商家竭尽所能地展示产品以激发用户购物欲望的做法相 去甚远。如何在网站上更好地向用户真实地展现商品的外观以及各种功 能成为企业和商家急待解决的问题。虚拟现实技术为电子商务提供了一 个友好的可视化人机界面。将虚拟现实技术应用于电子商务,使得位于 不同地区的顾客不但能享受到普通电子商务网站提供的方便、快捷的服 务,而且可以身临其境般的观察、操纵虚拟环境和置于虚拟环境中的各 种产品。近年来,计算机软硬件性能均得到极大的提高,加上网络技术的不断发展,普通PC机上实现In ternet浏览和更高级的交互功能成为可能。 在网络上进行室内装饰设计和展示己成为家装行业的必然趋势,具有很 好的应用前景,因此对基于VRML!勺可视化室内布线设计的研究室很有价 值。2 虚拟现实建模语言 VRML2.1 VRML 简介VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。 是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模 语言,也具有平台无关性。是目前 In ternet 上基于WWV的三维互动网 站制作的主流语言。VRML是虚拟现实造型语言(Virtual Reality Modeling Language)的简称,本质上是一种面向 web,面向对象的三维造型语言,而且它是 一种解释性语言。VRML勺对象称为结点,子结点的集合可以构成复杂的 景物。结点可以通过实例得到复用,对它们赋以名字,进行定义后,即 可建立动态的VR (虚拟世界)。VRML不仅支持数据和过程的三维表示,而且能提供带有音响效果的 结点,用户能走进视听效果十分逼真的虚拟世界(如简易迷宫、国际象 棋)。用户使用虚拟对象表达自己的观点,能与虚拟对象交互,为用户 对具体对象的细节,整体结构和相互关系的描述带来的新的感受。2.2 VRML 的发展历程VRML l.0 标准是许多人的共同合作的结果。 1993年 9月, Tong Pa ri-si和MarkPesce开发了第一个VRMLW览器。在第一届www大会上(1 994 年秋于日内瓦),由 Tim Berners-Lee 和 Dave Raggett 所组织的一 个名为BOF勺小组提出了 VRM这个名字,但当时所代表的含义 Virtual Reality Mark-up Language ,只是在后来由于为了反映三维世界的建立 而将Markup改为了 Modeling,缩写仍为VRML在这次大会后,一个名 WWW-VRMLMAIL LI的组织成立了,并于1994年秋在第二次 WW大会上发布了 VRMLl.0 的草稿。 VRMLl.0 允许单个用户使用非交互功能,且没 有声音和动画,它只允许建立一个可以探索的环境,但没有别的。虽然 VRMLl.0 给人的最初印象看起来十分有限,但它的确形成了一组开发者 可以用的工作核心,以便建立VRML2.0 VRML3.0或更新的版本。VRML2.0的规范于1996年8月通过,它在VRMLI.0的基础上进行了很大的补 充和完善。它以SGI公司的Move World提案为基础。业界范围内对于 V RML2.0的支持非常大。 许多重要的厂商明确表示,VRML2.0将是他们产 品结构的基础。SGI公司,最有影响力的 VRM厂商,已经引进Cosmo3A个VRML2.0的API,作为其新的工具结构 Viper的基础。Cosmo3的附件支持为S GI 公司已有工具而编写的应用程序,而这些应用程序也就变成了 Viper 内置的专用功能。 SGI 公司许多广为传播的工具也支持 VRML2.0。Sun Microsystem公司,Java的先驱,最近选择VMML2.C作为其基 于Java的3DAPI Java3D的功能内核。Microsoft 公司已经采纳了 VRML 2.0 标准,并已利用 DimensionX 基于 Java 的 Liquid Reality 来生成用 于XML2.0浏览的ActiveX组件。可在 WindowsNT4.0上找到的Microsof t 公司的优化 OpenGL 1.1,而 Micmsoft 的 Direct3D 与已通过硬件加速 显示了它强大无比的功能。IBM 公司和 Apple 公司正在与 ParaGraph 公司合作,开发以图形压 缩为特点的VRM二进制格式,这项工作不仅可以使文件大小减少 50% 还可以把VRM使用者的范围拓宽。VRM发展大事年表:日期大事记1993.12 Parisi和Pesce开始开发第一个 VRM测览器;1994.03首届wwwfc会在日内瓦召开,提出 VRML1994.06开始VRM邮件列表;1994.10产生了基于SGI的Openlnventor文件格式的VRML1.C第一 稿;1996.03 VRML结构组通过 Moving World ,并就VRML2.0标准进行投 票;1996.08 通过 VRML2.0标准。VRM发展已经成为新的国际标准 X3D它在VRM的基础上做了很多 改动。X3D是一种支持XML编码格式的开放式3D标准,3D数据可以通过 网络实现实时交流,具有可移植性,页面整合性,易于和下一代的网络 技术整合,另外采用了组件化结构设计减少了系统资源的占用且具有很 强的扩展性。2.3 VRML 的应用VRML在远程教育、科学计算可视化、工程技术、建筑、电子商务、 交互式娱乐、艺术等领域都有着广泛的应用前景,利用它可以创建多媒 体通信、分布式虚拟现实、设计协作系统、实境式电子商务、网络游戏、 虚拟社区、赛博空间等全新的应用系统。2.3.1 VRML 典型的应用领域(1)教育应用,把VRM用于建造人体模型、电脑太空旅行、化合 物分子结构显示等领域。 由于数据更加逼真, 大大提高了人们的想象力、 激发了受教育者的学习兴趣,学习效果十分显著。随着计算机技术、心 理学、教育学等多种学科的相互结合、促进和发展,能够提供更加协调 的人机对话途径。华盛顿大学外语系 Carlos Seligo 说:“外语系设想 通过远程教学授予学位,但一直苦于找不到具有交互能力的虚拟教室。我认为VRML将成为虚拟教室的黑板,而教师们知道该使用什么样的粉 笔。”(2)工程应用,当前的工程很大程度上要依赖于图形工具,以便 直观地显示各种产品,目前 CAD/CAM已经成为机械、建筑等领域必不可 少的软件工具。VRML将使工程人员能通过全球网或内部网按协作方式进 行三维模型的设计、交流和发布,从而进一步提高生产率并削减成本。(3)商业应用,对于那些期望与客户建立直接联系的公司,尤其 是那些在他们的主页上向客户发送电子广告的公司, Internet 具有特别 的吸引力。VRM有可能大幅度改善顾客购买商品的经历。例如,顾客可 以访问虚拟世界中的商店,在那里挑选商品,然后通过 Internet 办理付 款手续,商店则及时把商品送到顾客手中。(4)娱乐应用,娱乐领域是VRML勺一个重要应用领域。VRML! 一个功能十分强大的在 Internet 网上交换三维场景的描述性语言,它能 提供更好的多人之间的交互,提供更加逼真的虚拟环境,从而使人们能 够享受其中的乐趣,带来更好的娱乐感觉。VRML!前正朝着实时通信、 大规模用户交互的方向发展。2.3.2 成功案例(1)科技探索一个对火星好奇的学生登上虚拟的宇宙飞船,从地 面点火起飞,并尝试各种飞行路径飞向这个红色星球。在火星表面登陆 后驱车绕着科学上正确的轨迹运动带有合适的重力和光照。这一景象在 火星探路者登上火星时已经借助 VRM技术发生在全球In ternet用户的 眼前:利用三维的虚拟太阳系模型和来自火星的大量数据,物理和天文 学世界被带入生活中,而且比任何书本或第一代 Web页面更为吸引人, 并具有交互性。( 2) 商业宣传百事可乐公司在自己的网站上创建一个广告画面:探路者在火星表面走动且发现了一瓶百事可乐!所有文件只有12KB因此能十分方便地配置在一个普通的 Web站点上。美国Con struct公司最 近完成了一个VRM项目,目的是展示VRML乍为一个故事片媒介。片长 11分钟,高分辨率逼真图形的故事占了不到 1MB磁盘空间。相似长度和 质量的一个MPEGI影将比它大300倍。(3)电子购物珠宝加工商为远距离客户加工珠宝,为了确保最终样式符合客户的期望,可应用VRM!创作工具建立一个项链模型,然后把 设计通过Web传送给顾客。虽然客户没有拿到真正的东西,但仍能从所 有角度考察这种项链, 检查反射面的形状, 以决定作为基片的宝石高度。 因此,在设计阶段就把客户的需求呈现出来。类似的VRM应用范围很广, 从医疗构图、分子造型、工程与设计、建筑到包含更多娱乐的游戏、各 种广告、虚拟剧场以及日常生活的习俗,如起居室的选择和家具摆设、 周未公园旅游计划、汽化器维修等。(4)文物保护意大利教堂的壁画被破坏已经很长时间了,但是仍 有足够的信息使它恢复原来的模样。采用建筑造型恢复教堂和采用图像 扫描技术恢复壁画,然后把它们集成到 VRM文件中,这样,艺术学院的 学员就能在走廊里行走,观看头顶的壁画在一天中的不同时候,随着光 线的不同而呈现的不同图案,当然还可以增加鉴赏评论等有关壁画的信 息。这种需求在我国更多,也更为紧迫,如敦煌石窟、兵马佣、长城以 及众多的园林。(5)娱乐业Blitom与CosmO软件公司演示了第一部VRMLS画片。3 VRML 的工作原理及基本特性3.1 VRML 的文件结构VRML文件是一个后缀名为 wrl的文件,它主要包括 VRML文件头、注释、节点、事件和路由等部分。并不是每一个 VRM文件都需要全部包括这些部分,但其中文件头是每一个 VRM文件都必需的部分。3.1.1 文件头VRM!文件头的语法形式如下所示:#VRML V2.0 utf8注意:这是每一个 VRML2.0文件所必需的开头,必须放在文件的第1 行,而且必须要按照如上所示的语法格式出现。文件头分为 3 部分:(1)#VRML打开该文件的浏览器该文件是一个 VRMI文件;(2)V2.0 :该VR ML文件遵循的VRM规范是2.0版本;(3) utf8 :该文件使用的字符是国际 UTF-8字符集。UTF是UCSTransformFormat 的缩写,其中 USC是 Universal Multiple - Octet C oded Character Set 的缩写,UTF-8是一个广泛支持多种语言的字符集, 由国际标准化组织ISO提出和规范的。3.1.2 文件注释在VRM文件中允许编写者在文件的任何部分进行注释说明, 以增强 该文件的可读性。VRML文件的注释部分是以“ #”开头,结束于该行的 末尾,也就是说不支持多行的注释。新一行的注释也必须以“#”开头。浏览器在浏览VRML文件的时候将跳过“ #”之后本行的所有内容。 另外在浏览器浏览VRML文件的时候将自动地忽略 VRML所有的空格和 空行,VRML文件编写者可以用任何合适的格式进行编写,但是应该使 VRML文档易于阅读和修改。3.1.3 节点VRML文件的最基本的组成部分是节点(Node), VRML文件的主要内 容就是节点的层层嵌套以及节点的定义和使用,由此构成整个的虚拟世 界。在VRM文件中可以为节点定义一个名称,然后在本文件的后面就可 以反复地引用该节点。例如,在某一个VRM空间中需要创建多个相同的 类型,就可以首先用一个或一组节点创建一个造型,然后为这一个或一 组节点命名,反复地引用这个造型数次就可以方便地创建多个完全相同 的造型。被定义名称的节点称为源节点( OriginalNode );对被命名节点的 引用称为实例( Instance )。节点由节点类型、 、域和域值组成。VRML中的节点有以下几种类型:造型尺寸、外观节点: Shape、Appearance、Material 原始几何造型节点: Box、Cone、Cylinder 、Sphere 造型编组节点: Group、Switch 、Billboard 文本造型节点: Text 、FrontStyle 造型定位、旋转、缩放节点: Transform 内插器节点: TimeSensor、PositionInterpolater、OrientationInterpolater 、ColorInterpolator、 ScalarInterpolator、 CoordinateInterpolator感知节点: TouchSensor、CylinderSensor 、PlaneSensor 、Sphere Sensor、VisibilitySensor、ProximitySensor 、Collision点、线、面集节点: PointSet 、IndexedLineSet 、IndexedFaceSet 、Coordinate海拔节点: ElevationGrid挤出节点: Extrusion颜色、纹理、明暗节点: Color 、 ImageTexture 、PixelTextureMovieTexture 、Normal控制光源的节点: PointLight 、 DirectionalLight 、 SpotLight背景节点: Background声音节点: AudioClip 、 MovieTexture 、Sound细节控制节点: LOD雾节点: Fog空间信息节点: WorldInfo锚点节点: Anchor脚本节点: Script控制视点的节点: Viewpoint 、NavigationInfo用于创建新节点类型的节点: PROT、O EXTERNPRO、TOIS 在同一个节点中的域有以下特点:(1)无序性:各个域之间没有先后的次序之分,以不同顺序排列一 一对应相同的域和域值得到的最后效果完全一致;(2)可选性:各个域都有自己相应的缺省值,即当没有说明域的域 值时,浏览器将用相应的缺省值代替创建相应的造型。域值的类型:不同的域对应的域值也分为不同域值类型,例如,说明高度的域的 域值和说明颜色的域的域值当然不同, 前者只需要单个的数值即可, 后者则需要多个数值共同描述才能准确地说明所要说明的对象。节点的域值在源节点中应已设定, 在实例中这些域值将被不能修改 的完全相同地引用。当源节点中的域值被修改,所有的实例也将自动同 时修改。总之,实例创建和源节点完全相同的造型。定义节点名称的语法如下:DEF 节点名节点类型引用节点的语法如下:USE 节点名在定义和引用节点名称的时候要注意以下几个方面:(1命名节点的数目没有限制,但在同一个 VRML文件中不能有两 个名称相同的节点。( 2)节点名称可以有字母、数字和下划线,但不能以数字开头。(3) 节点名称中的字母区分大小写, 就是说字母完全一样而大小写不相同的节点名称被视为不同的节点名称。(4) 节点名称不能包括诸如空格、Tab等不能打印的字符。( 5)命名节点也不能包括单双引号、加号、减号、句号、逗号、方 括号、弯括号和英镑符号等字符。(6)在VRM中以下有特殊用途的字符也不能用作节点名称:DEF,USE,ROUTE,NULL,TURE,FALSE,IS,TO,EXTERNPROTO,PROTO,eventln,eventOutfield 等。VRM文件的节点层次图可见图 3-1。VRMLFile图3-1 VRML中的节点层次图3.1.4事件和路由节点可以通过接收事件Eve nt)而改变。大部分的节点有能力处理 进入事件(eventln )。通过接收eventln的指示,节点可以改变目前的 状态,例如节点的颜色可以改变,setcolor。当一个节点改变了,它会 对改变的状态有所反应,送出一些发生事件(eventout ),例如color changed 。路由(Route)的功能是连接一个节点的 eventout事件和一个节点 的eventin事件。Route并不是节点,它只是简单的语法结构,告诉一 个事件该如何从某个节点到达另一个节点。Route用于建立两个节点之间的路径。在绑定路由的过程中应注意:( 1)和节点的域和域值一样, eventin 和 eventout 同样具有一定 的数值类型。例如 Sffloat 类型的输入和输出接口只能输入和输出单值 浮点数,而 Sfcolor 类型的输入和输出接口只能输入和输出相应的颜色 值。与此同时,绑定在一起的输入和输出接口就应该具有相同的数值类 型,否则将导致意想不到的错误。(2)绑定两节点的路由在没有被触发之前一直都处于休眠的状态, 只有在被触发时,才有事件从输出接口的节点产生,并且通过路由传送 到输入接口的节点,引起相应的虚拟世界中的变化。(3)可以将多个节点绑定在一起,从而创建复杂的线路,在虚拟世 界中实现更真实的交互性。3.2 VRML 的基本节点3.2.1 Shape 节点Shape 节点的功能是构建一个虚拟对象的轮廓,即造型。造型的属性、几何结构和外观,由Shape节点的域值设置。Shape节点的语法格式如下:ShapeAppearance nullGeometry nullShape节点的Geometry域的值指定一个节点,即 Geometry节点,该 节点定义造型的几何结构,其默认值 null 表示不创建任何几何结构: Shape节点的 Appearanee 域的 值指定一个节点,即 Appearanee 节点, 该节点定义造型的外观, 包括颜色和表面纹理, 其默认值 null 表示造型 的外观为发光白色。Geometry 节点Geometry 节点包括基本造型节点和高级造型节点 基本造型节点四种基本造型节点及其语法格式如下:Box 节点语法:BoxFiled sfvecsf size 2 2 2 #( 0 , +x)其中 2 2 2 为长方体长、宽、高的缺省值。cylinder 节点语法:cylinderfiled sffload radius 1 #半径filed sffload height 2 #高度是否创建侧面,缺省为 ture 。3.2.2 群节点群节点可以将所有的节点( 群节点或子节点) 包含在其中,视为 一个整体对象。群节点一共有 8 种:( 1) Group 节点Group 节点是群节点中最基本的节点。利用Group节点中的children 域可以包含任意个节点。 在 Group 节点中所有的节点都可以视为一整 体,当作一个对象,若利用 DEF指令对Group节点命名,则可以使用 USE旨令在相同的文件中继续重复使用该节点,以增加方便性和重用性。2) Transform 节点Transform 节点包含一个子节点的列表,这些子节点可以是 shape 节点、其他 Group 节点或 Transform 节点。在 Transform 节点中的所有 子节点将在 Transform 节点的坐标系原点处创建。如果该坐标系的位置 发生变化,则 Transform 节点的所有子节点将一同变化。 利用 Transform 节点可以对它的组内包含的节点进行统一平移、旋转和缩放。类似于Group节点,Transform 节点也可以是一个父节点 Group或 Transform 节 点的子节点。父节点的坐标系是 Transform 节点坐标系的父坐标系。如 果一个Transform节点是一个VRM文件的最高级组,则它的父坐标系就 是该VRM文件的世界坐标系。(3)Inline 节点该节点用于在VRM文件中引入其他的VRM文件。如果一个VRM文 件过大,将会使下载和浏览速度降低,且不容易管理和维护。可以将一 个很大的VRM文件拆成几个小文件,再使用Inline节点引入这些小文 件,主要文件就会显得结构清晰,易于管理。(4)Switch 节点Switch 节点可以包含不同的子节点组成一个选项表, 但在同一时 间只选择一个进行创建。故该节点增加了 VRML?序的交互性,让用户拥 有选择的权利,并可以在各种选择间迅速地切换。(5)Billboard 节点 该节点可以创建一个新的局域坐标系,选定一个旋转轴后,在这个节点下的子节点所构成的虚拟对象的正面始终面向观察者,而不管观察 者如何移动。(6)Anchor 节点在 Anchor 节点下面的子节点所创建的虚拟对象叫 Anchor shape, 当光标移到这个Anchor shape时会出现一个锚的图标, 单击这个Anchor shape 将会进行超链接,可以链接到其他文件或网站。(7) LOD节点LOD 节点用于对相同的景物做出不同精细程度的版本,距离景物较 近时选用比较精细的版本,距离景物较远时选用比较粗略的版本,分级 程度完全根据观察者与景物的相对距离而定,这样可以大大提高浏览器 的性能。( 8) Collision 节点 该节点除了具有群节点的特征外,还具备了传感器节点的特征。它 的主要功能是感应观察者和虚拟对象接近并发生碰撞的现象。3.2.3 环境节点环境节点目的是使虚拟现实和真实更加接近,让计算机创造出来的虚拟环境更加自然与生动。 其中 Background 节点可以给虚拟环境加上背 景,能设置天空和地面的颜色; Fog 节点可以雾化虚拟环境,控制能见 度,使其具有朦胧之美;光源型的节点可以生成新的光源并将其放到任 意位置,指定特定的方向,以照亮场景并突出关注点;而声音型节点可 以在虚拟环境中加入声音,使其更加真实生动。3.2.4 Viewpoint 与 Navigationinfo 节点Viewpoint 节点用于事先定义观看虚拟场景的位置和角度。因为在 构建的虚拟场景中可能有多个虚拟对象,而每次强调的虚拟对象可能不 同,所以在强调某个对象时, 就用 Viewpoint 节点定义出起始观看点的 观看方向朝着所强调的对象。现实人物在虚拟世界中的化身称为 avatar 。在虚拟现实中,观察者 通过 avatar 进行浏览, avatar 看到的景象就是观察者看到的景象, avatar 如何在虚拟场景中移动全靠用户的操作。 Navigationinfo 节点的 功能就是提供观察者操纵 avatar 浏览虚拟场景的方式, 可以是行走或飞 行,它也提供观察者控制 avatar 移动速度的功能。除此之外,还可以定 义 avatar 的尺寸,提供 avatar 头灯和 avatar 能见度的限制。3.3 VRML 的高级节点3.3.1 动态节点 动态就是某些对象会随着时间的变化而变动位置、方位和大小等, 所以控制一个动态的虚拟对象,需要两个重要的控制因素:控制动态对象的时间,例如开始时间、结束时间以及循环周期等; 描述动态对象改变的方式,如移动、旋转或缩放等。连接这两个重要节点的指令是路由, 它会将某个节点的 eventOut 事 件传递给某个节点产生的 eventIn 事件,从而达到动态目的。VRM包括七个动态节点:( 1)控制时间的感测器节点 TimeSensor 创建一个时钟,以控制动 态对象的开始、结束和变化的速度。它只是产生动态对象的一个控制因 素,必须与以下的节点相结合,才能完成一个动态对象。( 2)变换位置的节点 PositionInterpolator 其功能是定义动态对 象随时间变化而改变的位置。( 3)变换方位的节点 OirentationInterpolator 其功能是定义动态 对象随时间变化而改变的方位,也就是以旋转的形式出现,可以在不同 的时刻,对着某个轴旋转到所对应的方位。( 4)变换强度的节点 Scalarlnterpolator 可以用来改变一般节点 中具有单一值的字段。例如,让一房间的灯光逐渐由暗到亮,就可以利 用 Scalarlnterpolator 节点和 TimeSensor 节点相结合来改变光线节点 中的 Intensity 字段,让光线强度随时间改变,达到动态的效果。( 5)变换颜色的节点 Colorlnterpotator 其功能主要是在某一段时 间内变换虚拟对象的颜色。 此节点必须配合 TimeSensor 节点才能让虚拟 对象成为动态对象,动态的部分则是颜色的变化。( 6)变换坐标的节点 Coordinatelnterpolator 该节点的 KeyValue 字段是一组值,具有 3 个点的坐标值,可以用来改变节点中此类型字段 的字段值,例如 Extrusion 节点中的 Spine 字段。当然还要配合 TimeSe nsor 节点才能将虚拟对象变成动态对象。( 7)变换向量的节点 Normallnterpolator 其功能是改变 Normal 节点 vector 字段的 3 个向量值。 Normal 节点是属于 ElevationGrid 和 IndexedFaceset 这两个几何节点中的字段。通过和 TimeSensor 节点配 合,就可以使这两个节点所产生的虚拟对象具有动态的效果。3.3.2 传感器节点VRML搭建的In ternet上的虚拟现实场景可以使用户产生身临其境 的感觉,利用VRM的感应节点接受用户的输入信息以及相应的反馈,来增加虚拟场景的交互性,虚拟现实的场景是完全符合人们感知心理的一 个交互环境。使用者的所有活动都发生在这个虚拟的空间中,就像我们 现实中生活、工作、学习一样,总归离不开周围的环境。使用者与应用 系统之间的交互通过虚拟空间来进行,包括实时的和非实时的。虚拟空 间在其中起着中间代理的作用,它接收发出的所有消息,并做必要的处 理和反馈。发生一次最简单的任务事件的消息流如下: (1)用户提出事 务请求;( 2)虚拟空间接用户的请求;( 3)虚拟空间根据请求内容作 分类处理; (4)根据用户提出的对虚拟空间的请求,虚拟空间产生响应 发生变化。动态景物的设置主要用来和用户产生交互效果,下面来介绍 程序中交互效果的产生。为了使虚拟现实产生交互性,可以在一般的 Sh ape节点上加上类似传感器(Seneor)的节点,传感器由于感应观看者 的输入装置而产生反应,最常见的输入装置是鼠标。当观看者的鼠标移 动到装有传感器的虚拟对象时,传感器可以感应到光标,一般来说鼠标 有 3 种动作使感应器开始工作:移动:移动光标到某个虚拟对象上 单击:当光标在某个虚拟对象上时,单击鼠标键; 拖动:当光标在某个虚拟对象上时,按下鼠标键,并拖动。这 3 种动作可以使装有传感器的虚拟对象因为感应到观看者的动作 而有所改变,从而产生交互式的虚拟现实。VRML中包括7个传感器节点:(1接触型传感器节点TouchSenso能够感应鼠标的动作(移动、 单击或拖动),进而改变在相同群节点下的Shape节点,并产生所需要的 结果。(2)平面移动型传感器节点 PlaneSensor :能够感应鼠标的拖动, 进而改变虚拟对象的位置,但不能改变方位,而且只限于 x-y 平面上。( 3)单轴旋转型传感器节点 CylinderSensor :能够感应鼠标的拖 动,可以让被拖动的虚拟对象绕 y 轴旋转,进行方位的改变,但位置是 固定的。(4)任意轴旋转型传感器节点 SphereSensor:能够感应鼠标的拖 动,使虚拟对象在没有固定旋转轴的情况下,被拖动任意地旋转,即改 变方位,但不能移动位置。( 5)能见度传感器节点 VisibilitySenso :可以通过感应观看者从 某个位置和方位能否看见某一个特定的对象或区域,从而启动或停止一 些动态行为。( 6)亲近度传感器节点 ProximitySensor :感应观看者进入和移动 于虚拟现实中一个限制箱型区域。当观看者穿过这限制箱型区域时,可 以使用传感器启动某个动态对象;当观看者离开这限制箱型区域时,停 止某个动态对象。( 7)碰撞传感器节点 Collision :感应观察者和虚拟对象接近并发 生碰撞的现象。人类因为有神经,所以有看、听、闻、触等感觉。传感 器如同人类的神经, 虚拟对象加上了传感器, 它就不再是一个死的东西, 而是可以像生物一样对外界世界有所反应,这样就能与虚拟现实中的对 象进行交互。 TouchSensor,P1aneSensor,CylinderSensor,SphereSensor 这类传感器节点是由观察者的输入装置传送消息给虚拟对象,让虚拟对 象有所感应而产生动作, 这里强调的输入装置是以鼠标为主。 Visibility Sensor、ProximitySensor 和 Collision 这类节点是感应观看者在虚拟 现实里游走时,与虚拟对象之间的交互。例如,是否看得到虚拟对象、 是否通过一个虚拟对象、是否与虚拟对象发生碰撞等感应。利用这些传感器节点可以让虚拟现实更具人性,而不再只是冷冰冰 的科技产物。3.3.3 Script 节点Script 节点是一个应用性极高的节点,具有运行程序的能力,可以 用来计算一些复杂的字段值,使虚拟现实更具变化性和交互性。 Script 节点不像其他的VRM节点那样已经定义好所有的字段和事件。在此节点 中,可以定义字段和事件,并且可以编写脚本程序来展现这个节点的功Scr ipt 节点的主要目的如下:运行用户所想要的动作。从其他节 点接收事件信息。它有一个程序模组,可以用来完成某些计算。通过传 送事件信息给其他节点而产生变化。在一个 Script 节点中,可以分成 3 个主要部分:(1)制定一个字段:定义字段值类型、列名和默认值。( 2)制定一个事件:定义事件值类型和事件名称,包括 eventln 事 件和 eventOut 事件 。(3)程序模组:利用 Javascript 或 Java 编写,目的就是展现 Script 节点的功能。4 室内装饰布线设计与展示系统实现的关键技术4.1 三维虚拟场景的建模虚拟对象的建模是虚拟现实系统建立的基础。为了给用户创建一个 身临其境和沉浸其中的环境,必要条件之一就是根据需要在实时漫游系 统中逼真的表现出客观世界中的一切对象。例如能表现山川河谷、花草 树木、车船路桥、广厦楼宇等对象的二维模型。不只是要求所表现的对 象在外形上与真实对象酷似,而目要求它们在形态、光照、质感等方面 都十分逼真。根据建模方式的不同,基于 Web的虚拟现实系统主要可分 为基于图形建模和基于图像建模两类。基于图形的建模技术又称为几何模型建模,是对真实世界进行抽象, 首先建立起精确的三维几何模型,设置视点位置,然后经过明暗处理、 隐藏面消除、纹理映射等过程生成真实感三维模型,它对硬件的计算能 力和图形加速性能都有很高的要求;这在场景比较复杂的情况下,将会 因计算量较大而使用户与虚拟场景无法实时交互。 为了满足实时性要求, 往往采用降低场景复杂度的方法,从而降低了虚拟场景的视觉效果。基于图像的建模技术是用待建三维虚拟空间的有限幅图像样本,在 一定的图像处理算法和视觉计算算法的基础上直接构造三维场景。它的 特点是建模容易、绘制快、真实感强,而且小受场景复杂度的限制。但 由于场景中的虚拟物体是图像中的二维对象,因而用户很难,甚至不能 与这些二维对象进行交互。这种方法的最大优点在于生成的环境是这组 图像所反映的客观真实场景, 因此特别适合于真实自然场景的仿真研究。4.2 VRML三维模型的生成有两种方法建立VRM场景,一种是手工编程,直接生成VRML勺.wrl 文件。但这种方法编程工作量大,修改困难,对编程人员要求较高,对 于大量且复杂的场景,则需要另外一种方法,即用3Dmax 3Dmax是Autodesk公司开发的基于windows环境的动画制作软件,因其入门较易 和相对低廉的价格优势,成为目前PC机最流行的三维动画设计软件。建 模功能强大是3Dsmax被用于虚拟现实场景构建的一个重要原因,另外它还拥有VRM格式文件接口,能方便的将.max文件导出为.wrl文件。1图4-1 VRML静态建模流程图3Dmax建模包括形体建模、材质与帖图、设置灯光和相机、添加特 殊节点等四个步骤,如图4-1所示VRM静态建模流程图。下面分别进行 介绍。(1)形体建模3Dmax形体建模的方法主要有多边形建模、非均匀有理B样条曲线建模、细分曲面建模三种。通常建立一个模型石分别采用上述技术或它 们之间的有机组合来实现,但均以不增加面片数为大前提。多边形
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!