欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    虚拟现实技术课件第四章7.ppt

    • 资源ID:66104654       资源大小:2.80MB        全文页数:44页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    虚拟现实技术课件第四章7.ppt

    虚拟现实技术课件第四章虚拟现实技术课件第四章712021/2/23Script节点语法节点语法Script url#exposedField MFString mustEvaluat FALSE#field SFBool directOutput FALSE#field SFBool#And any number of 以下域或事件由用户定义任意以下域或事件由用户定义任意多个多个 field fieldType fieldName initialValue eventIn eventInType eventInName eventOut eventOutType eventOutName域或事件域或事件域或事件的类型名域或事件的类型名 域或事件的名域或事件的名域的初始值域的初始值域名和域值详解域名和域值详解url域的域值域的域值 定义了一个定义了一个URL列表。列表。该列表中的该列表中的URL值所指定的程序脚本可以是由任何值所指定的程序脚本可以是由任何VRML阅读器支持的语言写成的,通常是阅读器支持的语言写成的,通常是VRML阅读阅读器支持的器支持的Java语言和语言和JavaScript语言语言而且而且JavaScript的函数和指令可以直接包含在的函数和指令可以直接包含在url域中。域中。该域默认值是一个该域默认值是一个URL空列表。空列表。mustEvaluate域的域值域的域值 是一个布尔量。是一个布尔量。它定义了程序脚本是如何进展求值的。它定义了程序脚本是如何进展求值的。当该域值为当该域值为TRUE时,每当由节点的时,每当由节点的eventIn事件接收到一个新事件接收到一个新值时,阅读器就立即对该程序脚本进展计算;值时,阅读器就立即对该程序脚本进展计算;当该域值为当该域值为FALSE时,那么阅读器在此脚本不影响环境中任何时,那么阅读器在此脚本不影响环境中任何可视部分的情况下,推延对脚本的计算,等到比较适宜的时可视部分的情况下,推延对脚本的计算,等到比较适宜的时间再来处理。间再来处理。这样就会出现事件到节点的传送和计算节点处理该事件动作这样就会出现事件到节点的传送和计算节点处理该事件动作的延迟。此时假如多个事件被传送,待处理的事件列表就会的延迟。此时假如多个事件被传送,待处理的事件列表就会变长。变长。为了尽量使其性能到达最优,为了尽量使其性能到达最优,mustEvaluate域值应设定为域值应设定为FALSE,因为阅读器的性能取决于一个事件被发出后必须进展,因为阅读器的性能取决于一个事件被发出后必须进展计算的程序脚本数目,假如将其域值设为计算的程序脚本数目,假如将其域值设为TRUE,就会增加阅,就会增加阅读器的工作量,从而降低画面的刷新速度和交互性。该域默读器的工作量,从而降低画面的刷新速度和交互性。该域默认值为认值为FALSE。directOutput域的域值域的域值 用来说明程序脚本的输出是否受到限制。用来说明程序脚本的输出是否受到限制。假设为假设为TRUE时,程序脚本可以直接对它能访问的任何节点的时,程序脚本可以直接对它能访问的任何节点的可见域进展写操作或对任何节点的可见域进展写操作或对任何节点的eventIn事件进展发送,而事件进展发送,而且还可以在且还可以在VRML场景中增加或删除一条通路;场景中增加或删除一条通路;假设为假设为FALSE时,程序脚本不能直接发送事件,但可以访问。时,程序脚本不能直接发送事件,但可以访问。通常情况下,应将通常情况下,应将directOutput域值设为域值设为FALSE,其默认值为,其默认值为FALSE。Script节点可定义多个域和事件节点可定义多个域和事件(入事件和出事件入事件和出事件)。接口域、。接口域、接口接口eventIn和接口和接口eventOut都可以任意取名字,但必须遵循都可以任意取名字,但必须遵循DEF的命名约定。按照的命名约定。按照VRML的约定,要区分大小写,名字必的约定,要区分大小写,名字必须以小写字母开头,而且名字的每个子序列单词都必须大写,须以小写字母开头,而且名字的每个子序列单词都必须大写,允许在名字中使用下划线和阿拉伯数字。允许在名字中使用下划线和阿拉伯数字。7.1.2 Script脚本节点实例脚本节点实例实例实例7-1 使用使用Script节点创立动画效果,将飞船发射节点创立动画效果,将飞船发射送太空;当用户单击送太空;当用户单击VRML立体空间的飞船造型时,立体空间的飞船造型时,飞船将分开地球飞往太空飞船将分开地球飞往太空.关于VrmlScript在在VRML中使用中使用VrmlScript的根本构造为的根本构造为:ScripteventIn SFBool inputeventOut SFBool outputurlvrmlscript:function input(value)output=value;eventIn SFFloat input中的中的input代表的事件输入代表的事件输入,也就是触发程也就是触发程序执行的源动力序执行的源动力,SFFloat代表的是这个源动力的数值类型代表的是这个源动力的数值类型,常见的常见的input可以是时可以是时间间,布尔值等布尔值等,而相应的数值类型是而相应的数值类型是SFTime,SFBool等等.同理同理,eventOut SFBool output指的是事件输出指的是事件输出,也就是你这个也就是你这个程序所要到达的目的程序所要到达的目的.url“vrmlscript:function input(value)output=value;其中其中vrmlscript代表的是你这个程序所使用的语言是代表的是你这个程序所使用的语言是vrmlscript,当然当然,你也可以改成其他的你也可以改成其他的,如如javascript等等function input(value)是这个程序的响应函数是这个程序的响应函数.output=value;是这个函数的语句是这个函数的语句,要注意要注意,在在VrmlScript中要调用输入值时必需要通过中要调用输入值时必需要通过一个与事件输入同名的函数来实现一个与事件输入同名的函数来实现,不允许直接调用不允许直接调用 使用使用Script实如今射击场射击的动画效果;当用户实如今射击场射击的动画效果;当用户单击立体空间的手枪造型时,手枪将发射子弹击中单击立体空间的手枪造型时,手枪将发射子弹击中目的。目的。7.2 创立用户自己的新节点创立用户自己的新节点之前,我们常用之前,我们常用VRML提供的几何造型节点来设计提供的几何造型节点来设计立体空间造型立体空间造型主要利用模型节点主要利用模型节点Shape、组节点、组节点Group及群节点等及群节点等创立简单三维立体模型。创立简单三维立体模型。此外还可以使用此外还可以使用DEF来定义自己想要重复使用的节来定义自己想要重复使用的节点,然后用点,然后用USE来使用该节点。来使用该节点。VRML是一个丰富多彩的世界,假如想创立更加逼是一个丰富多彩的世界,假如想创立更加逼真、生动的场景和造型,需要更加复杂的设计。因真、生动的场景和造型,需要更加复杂的设计。因此需要用户根据实际工程的需求,来设计和开发用此需要用户根据实际工程的需求,来设计和开发用户自己需要的新节点、节点类型及接口事件等,以户自己需要的新节点、节点类型及接口事件等,以满足软件开发满足软件开发 的需求。的需求。7.2.1 PROT0创立用户新节点创立用户新节点PROTO创立用户新节点定义了新节点的名字、域、创立用户新节点定义了新节点的名字、域、域值、事件及节点体。域值、事件及节点体。一旦定义了用户新节点,就可以像使用一旦定义了用户新节点,就可以像使用VRML标准标准节点一样来使用它。节点一样来使用它。用户新节点用户新节点PROTO通常写在通常写在VRML文件的前面。文件的前面。PROTO创立用户新节点语法构造创立用户新节点语法构造Background 背景节点背景节点定义多个节点体定义多个节点体Inline 内联节点内联节点ROUTE 路由路由PROTO创建用户新节点创建用户新节点使用新定义的节点使用新定义的节点PROTO创立用户新节点语法创立用户新节点语法PROTO nodename#And any number of:以下域或事件由用户定义任意多个以下域或事件由用户定义任意多个 field fieldTypeName fieldName initialValue exposedField fieldTypeName fieldName initialValue eventIn eventInTypeName eventInName eventOut eventOutTypeName eventOutName#新节点体新节点体 nodeBody#单个节点或组节点单个节点或组节点(1)新定义的节点名字下新定义的节点名字下 方括号内方括号内包括域或事件、域值类型、或事件名字及域的初值。包括域或事件、域值类型、或事件名字及域的初值。“域相当于高级语言中的自变量;域相当于高级语言中的自变量;“暴露域相当于高级语言中的外部变量;暴露域相当于高级语言中的外部变量;出事件和入事件相当于高级语言中函数的入口参数。出事件和入事件相当于高级语言中函数的入口参数。(2)新节点体在一对花括号内新节点体在一对花括号内 其中包括单个节点、组节点及节点的接口值。节点的接口值其中包括单个节点、组节点及节点的接口值。节点的接口值用保存宇用保存宇“IS表示。表示。IS保存字作用是将用户自己定义的新域名与标准节点的域名保存字作用是将用户自己定义的新域名与标准节点的域名联络起来的节点接口的值。联络起来的节点接口的值。当这些新定义的域名不需要和标准节点的域名联络时,可直当这些新定义的域名不需要和标准节点的域名联络时,可直接在新定义的域名后加上域值。接在新定义的域名后加上域值。域值类型包括域值类型包括exposedField暴露域和暴露域和field域。域。事件包括事件包括evmtIn入事件和入事件和eventOut出事件。出事件。实例实例7-3 利用用户创立的新节点,实现飞艇在利用用户创立的新节点,实现飞艇在VRML立体空间的飞行过程,使立体空间的飞行过程,使VRML场景更加生动和逼场景更加生动和逼真,如下图。真,如下图。7.2.2 创立外部定义的新节点创立外部定义的新节点EXTERNPROTO创立用户外部定义的新节点创立用户外部定义的新节点EXTERNPROTO是在是在VRML主程序中主程序中定义外部新节点的名字、域或事件、域值类型、域或事件名定义外部新节点的名字、域或事件、域值类型、域或事件名字及字及url或或 urlList,并且在一个外部,并且在一个外部VRML文件中定义一个或文件中定义一个或多个多个PROTO新节点的名字、域、域值、事件及节点体。新节点的名字、域、域值、事件及节点体。创立用户外部定义的新节点创立用户外部定义的新节点EXTERNPROTO声明了外部声明了外部VRML文件所在地址文件所在地址URL。这个外部这个外部VRML文件应包含有文件应包含有VRML头文件和用头文件和用PROTO定义的一定义的一个或多个新的节点。个或多个新的节点。假如这个外部假如这个外部VRML文件包含有多个由文件包含有多个由PROTO定义的新节点,定义的新节点,那么由那么由EXTERNPROTO外部定义节点中的外部定义节点中的URL指明要调用外部指明要调用外部VRML文件中由文件中由PROTO定义的哪一个新的节点。定义的哪一个新的节点。EXTERNPROTO外部节点调用由外部节点调用由PROTO定义的节点格式为:定义的节点格式为:VRML文件名文件名#由由PROTO定义的那个新的节点名。定义的那个新的节点名。创立外部定义的新节点创立外部定义的新节点EXTERNPROTO语法构造语法构造Background背景节点背景节点Transform 坐标变换节点坐标变换节点EXTERNPROTO创建使用外部定义的新节点创建使用外部定义的新节点Shape模型节点模型节点引用外部节点域的域值引用外部节点域的域值几何造型节点几何造型节点创立用户外部新定义的新节点创立用户外部新定义的新节点EXTERNPROTO语法语法EXTERNPROTO nodename#And any number of:以下域或事件由用户定义任以下域或事件由用户定义任意多个意多个 field fieldTypeName fieldName exposedField fieldTypeName fieldName eventIn eventInTypeName eventInName eventOut eventOutTypeName eventOutName “VRML 外部文件名外部文件名#某新节点名或某新节点名或url or urlList 与与PROTO定义的节点比较,这个节点没有新的节定义的节点比较,这个节点没有新的节点体,但增加了一个调用点体,但增加了一个调用“VRML外部文件名。外部文件名。说明说明(1)外部新节点名字下方括号内外部新节点名字下方括号内包括域或事件、域值类型、域或事件名字。包括域或事件、域值类型、域或事件名字。“域域相当于高级语言中的白变量;相当于高级语言中的白变量;“暴露域相当于高暴露域相当于高级语言中的外部变量;出事件和入事件相当于高级级语言中的外部变量;出事件和入事件相当于高级语言中函数的人口参数。语言中函数的人口参数。(2)外部新节点中外部新节点中还包括还包括“VRML外部文件名外部文件名#某新节点名地址。某新节点名地址。域值类型域值类型包括包括 exposedField 暴露域和暴露域和 field 域。域。事件包括事件包括 eventIn 入事件和入事件和 eventOut 出事件。出事件。实例实例7-4 使用创立外部用户新节点,实现对使用创立外部用户新节点,实现对VRML立立体空间飞艇造型中不同构件的颜色的着色;使体空间飞艇造型中不同构件的颜色的着色;使VRML主程序主程序vrml7-4.wrl调用调用VRML外部文件外部文件Mateial_lib.wrl,如图,如图7.3 使用使用VRML直接上网直接上网VRML虚拟现实三维立体网络程序设计语言最突出虚拟现实三维立体网络程序设计语言最突出的特点之一就是网络功能。通过学习和掌握的特点之一就是网络功能。通过学习和掌握VRML编写编写VRML程序,可以实现直接上网及创立三维立程序,可以实现直接上网及创立三维立体网站等计算机前沿科技工作。而且还可以实现体网站等计算机前沿科技工作。而且还可以实现VRML直接调用直接调用HTML网页。网页。VRML直接上网语法构造如图直接上网语法构造如图Anchor锚节点即超级链接节点锚节点即超级链接节点Transform 坐标变换节点坐标变换节点Background背景节点背景节点Shape模型节点模型节点Appearanc节点节点文本造型节点文本造型节点实例实例7-5 使用使用VRML超级链接节点实现直接上网,超级链接节点实现直接上网,使软件开发人员可以设计出用户使用方便,灵敏、使软件开发人员可以设计出用户使用方便,灵敏、动态交互感强的动态交互感强的VRML程序,如图程序,如图vrml 7-5.wrl单击文字单击文字直接上网直接上网7.4 HTML 网页与网页与 VRML HTML网网页页是是超超文文本本标标记记语语言言,是是目目前前正正在在使使用用的的网网页页设设计计语语言言。它它是是一一种种描描绘绘文文档档构构造造的的语语言言,是是一一个个放放置置了了标标签签的的ASCII文文本本文文件件。超超文文本本标标记记语语言言HTML以以“*.html 或或“*.htm 作作为为文文件件的的扩扩展展名名。HTML网网页页一一直直被被用用在在互互联联网网上上,作作为为万万维维网网(World Wide Web)的的信信息息表表示示语语言言,描描绘绘网网页页的的格格式式设设计计和和其他网页的连接信息。其他网页的连接信息。HTML网页与网页与VRML实现程序间的通信原理如图实现程序间的通信原理如图HTML程序程序调用调用VRML调用调用VRMLVRML程序程序实例实例7-6 实现实现HTML网页调用网页调用VRML的过程,效果如的过程,效果如图图7.5 Word 与与VRMLword 2000直接调用直接调用VRML的原理的原理word 2000超级链接超级链接超级链接超级链接超级链接超级链接VRML程序程序实例实例 7-8 使用使用Word 2000 制作一个调用菜单,然后制作一个调用菜单,然后直接直接调用调用VRML中的各个场景和立体空间造型中的各个场景和立体空间造型立体空间场景立体空间场景飞船飞船飞艇飞艇靶场靶场手枪手枪

    注意事项

    本文(虚拟现实技术课件第四章7.ppt)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开