正在加载图片...
108 武汉大学学报(工学版) 2006 X3D技术是建构B/S结构的在线虚拟现实系统的 Jave Script API 重要技术13 2.2原型 X3 D/VRML浏览器 ( Blaxxun Contact62插件 利用VRML的原型( PROTO)可以在ⅤRML 文档中创建新的节点,一旦定义了原型,就可以像 IS服务器 VRML文 使用VRML标准节点类型一样来使用它.语法结 构如下: 图1系统结构 1.2系统的功能 原型名{域名称域值 系统的设计思想是:创建一个网上实时交互的 系统.用户通过系统提供的纹理材料、装饰品等能 }{节点体} 够主动而快速地改变场景中的效果,完成室内楼盘 但原型的定义与引用的节点在不同的文件中 的地板、墙纸以及家具的变换;同时用户可以在场这样我们常常使用 EXTERNPROTO来定义原 景中进行漫游.通过此系统可以让用户选择到比较型,也就是外部原型.我们就可在不同的文件中调 满意的室内装饰效果,从而降低了设计成本,提高用外部原型了 EXTERNPROTO节点的基本语法 效率.系统包括以下几个方面的功能: 如下 1)楼盘不同视角漫游功能通过用户和系统 EXTERNPROTO Layer2D 的交互实现对楼盘的三维漫游,使用户能从不同的 field Type fieldName 角度来体现楼盘的装饰效果 exposed Field fieldT ype fieldName 2)菜单功能.在三维的场景里面实现二维的 eventInType evenInname 菜单功能 eventIn Type even Out Name 3)场景效果变换.通过菜单实现场景效果的 变换.如:墙纸、家具等的变换 EXTERNPROTO中用ur或者 urlList来指 定 nodebody节点体的位置 2X3D技术 2.3交互原理 2.1X3D的简述 X3D场景中的模型由节点构成,节点又由域 X3D是新一代面向Web的交互式三维图形和事件构成,域定义节点的属性,事件定义用户与 规范,由Web3D联盟1998年底提出;X3D继承 场景之间的交互,使虚拟世界具有动感在节点间 创建通道(ROUT),通过发送一个事件使一个节点 了VRML97的工作并正式加入了先前规格中使控制另一个节点这种方法只能实现比较简单的交 用了多年的非正式的功能区域,这使X3D的组件 互,要实现比较复杂的交互功能,必须借助外部应 中也可以增加其他的功能X3D的组件层、概貌用程序调用外部程序的一种方法是使用 Script节 机制允许使用外部原型( EXTERNPROTO建立点,它和其他的标准节点相似,只有一点不同, 功能扩展组 个 Script节点是由用户进行扩展的,到达字段的事 X3D是基于VRML发展起来的,它支持件会自动移动到 Script节点相关的程序中.在 RML的语法规则,同样X3D里面的节点、模块VRML内部可以通过 Touch Sensor和 Dinesen 是可重用的,在文件格式方面使用了XML语法体sor传感器以及 JavaScript程序直接完成对节点的 系,实际上X3D就是XML和VRML相结合的产参数改变用户端场景调度初始状态时,节点参数 物X3D是面向对象和可扩展的,通过XML,X3D首先进行初始化的工作 很容易整合到其他的应用程序里.X3D是基于图 本系统利用 JavaScript程序直接改变节点参 像填充和图形建模这两种方式建构三维场景的,对数,从而实现对模型的贴图的变换 形体结构的建立采用图形建模,对于外观则采用图 形纹理填充;它还融合ASP、JSP等技术,可以通过 系统实现的关键技术 各种的网络服务器发布三维网页信息.所以说 以下以实时替换地板实例说明实现系统所用1O8 武 汉 大 学 学 报 (工学 版 ) 卜— JaveScriptfAPIf -厂r J X3D/VRML浏览器 (BlaxxunContact6.2插 件) fI Tl IIs服务器 fvRML文件(.wr1)f 图 1 系 统 结构 1.2 系统 的功能 系统 的设 计思 想是 :创建 一个 网上实 时交互 的 系 统.用户 通过 系统 提供 的纹理 材 料 、装 饰 品 等 能 够 主动而 快速地 改变 场景 中 的效 果 ,完 成室 内楼 盘 的地 板 、墙 纸 以及家 具 的变换 ;同 时用 户 可 以 在场 景 中进 行 漫游.通 过此 系统 可 以让 用户 选择 到 比较 满意 的室 内装 饰 效 果 ,从 而降 低 了设 计成 本 ,提 高 效 率.系统包 括 以下几个 方面 的功能 : (1)楼盘 不 同视 角 漫游 功 能.通 过 用户 和系 统 的交 互实 现对 楼盘 的三维 漫游 ,使用 户能从 不 同的 角度 来体 现楼盘 的装 饰效 果. (2)菜 单功 能.在 三维 的场 景 里面 实 现 二 维 的 菜单 功能. (3)场 景效果 变 换.通 过 菜单 实 现 场 景 效果 的 变换.如 :墙 纸 、家 具等 的变换 . 2 X3D技术 2.1 X3D的简 述 X3D是新一代面 向 Web的交互式三维 图形 规范 ,由 web3D 联 盟 1998年 底 提 出 ;X3D继 承 了 VRML97的工 作 并 正 式 加 入 了 先 前 规 格 中使 用 了多年 的非正 式 的功 能 区 域 ,这 使 X3D 的组 件 中也 可 以增 加 其 他 的功 能 .X3D 的组 件 、层 、概 貌 机制允许 使 用 外 部 原 型 (EXTERNPROTO)建 立 功能 扩展 组. X3D 是 基 于 VRML 发 展 起 来 的 ,它 支 持 VRML的语 法 规 则 ,同 样 X3D里 面 的 节 点 、模 块 是可 重用 的 ,在 文件格 式方 面 使用 了 XML语 法体 系 ,实 际上 X3D就是 XML和 VRML相 结合 的产 物 .X3D 是 面 向对 象和 可扩 展 的 ,通 过 XML,X3D 很 容易 整合 到其 他 的 应用 程 序 里.X3D是 基 于 图 像填 充 和图形 建模这 两种 方式 建构三 维场 景 的 ,对 形体 结构 的建立采 用 图形建模 ,对 于外 观则采 用 图 形 纹理 填充 ;它还 融合 ASP、JSP等技术 ,可 以通过 各 种 的 网 络 服 务 器 发 布 三 维 网 页 信 息.所 以 说 X3D技术 是建构 B/S结构 的在 线虚 拟 现实 系 统 的 重 要技术 . 2.2 原 型 利用 VRML的原 型 (PROTO)可 以在 VRML 文档 中创建 新 的节 点 ,一 旦 定 义 了原 型 ,就 可 以像 使用 VRML标 准节 点 类 型一 样 来 使 用 它.语 法结 构 如下 : 原 型名 {域名称 域 值 }{节点体 } 但 原 型的定 义与 引用 的节点 在不 同 的文 件 中 , 这样 我 们 常 常 使 用 EXTERNPROTO 来 定 义 原 型 ,也 就是外 部原 型.我 们 就 可 在 不 同 的文 件 中调 用 外部原 型 了.EXTERNPRoTo 节点 的基 本语 法 如 下 : EXTERNPROTO Layer2D[ field fieldType fieldName exposedField fieldType fieldNam e eventIn eventlnTypeevenlnName eventOut eventlnTypeevenOutNam e ][urlorurlList] EXTERNPROTO 中用 url或 者 urlList来 指 定 nodebody节点 体 的位置 . 2.3 交互 原理 X3D场景 中的 模 型 由节 点 构 成 ,节 点 又 由域 和事 件构成 ,域定 义 节 点 的 属性 ,事件 定 义 用 户 与 场景 之间 的交 互 ,使 虚 拟 世 界具 有 动 感.在 节 点 间 创 建通道 (ROUT),通 过发 送一 个事件 使一 个 节点 控 制另 一个节 点.这 种方 法 只能实 现 比较 简单 的交 互 ,要实 现 比较 复 杂 的交 互 功 能 ,必 须 借 助外 部 应 用程 序.调 用外 部程 序 的一种方 法是 使用 Script节 点 ],它和其 他 的标 准 节点相 似 ,只有一 点不 同 ,一 个 Script节 点是 由用 户进行 扩展 的 ,到达字 段 的事 件会 自动 移 动 到 Script节 点 相 关 的 程 序 中.在 VRML内 部 可 以通 过 TouchSensor和 TimeSen— sor传感器 以及 JavaScript程 序直接 完成 对节 点 的 参 数改变 .用 户端 场 景 调度 初 始 状 态 时 ,节点 参 数 首 先进行初 始 化 的工 作. 本系统 利 用 JavaScript程 序 直 接 改 变 节 点 参 数 ,从 而实 现对模 型 的贴 图的变 换. 3 系统实现 的关键技术 以下 以实 时 替换 地 板 实例 说 明 实现 系统所 用 维普资讯 http://www.cqvip.com
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有