




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,第十章视点控制,当我们在商场或超市选购东西时,一般不是每一件物品都要看的,而是直奔有自己所感兴趣的东西的地方。在VRML虚拟世界中也一样,并不是每一个场景都是浏览者所要看的,浏览者往往只会寻找自己感兴趣的东西,但寻找有用的东西常常需要花费大量的时间和精力则是浏览者不想的,这就涉及到VRML的视点控制。VRML提供了两个用来创建视点的节点:Viewpoint节点和NavigationInfo节点。,.,10.1基本概念,在VRML中的视点就是一个你所浏览的空间中预先定义的观察位置和空间朝向,在这个位置上通过这个朝向,浏览者就可以观察到虚拟世界中相应的场景。当然,同其他节点一样,在VRML虚拟世界中可以创建多个视点,以供浏览者选择。不过浏览者在任何时候,在一个虚拟空间中只有一个空间视点可用,也就是说不允许同时使用几个视点,这与人只有一双眼睛是相符合的。视点绑定可使你控制那个可用的视点,并可从一个视点切换到另一个视点。,.,10.1基本概念,从一个视点切换到另一个视点有两种途径,一是跳跃型的,一是非跳跃型的。前面所说的顾客在网上虚拟超市购物,就是跳跃型视点,该类型视点一般用来说明那些在虚拟世界中重要的、有趣的和顾客感兴趣的观察地点,他们提供了一种快捷方便的机制,使浏览者不必浏览每一个景点。而非跳跃型视点一般用来建立一种从一个坐标系到另一个坐标系的平滑转换,也可称是快速浏览。导航就是在VRML虚拟世界中使用一个三维的造型作为浏览者在虚拟世界中的替身,并可使用替身在虚拟世界中行走,通过该替身来观看虚拟世界,还可以通过替身去进行交互。,.,10.2节点介绍,10.2.1Viewpoint节点Viewpoint节点说明了一个VRML空间坐标系中的观察位置,指定了这个观察位置在VRML空间的三维坐标,空间朝向以及视野范围等参数。该节点既可作为独立的节点,也可作为其他组节点的子节点。其节点语法定义如下:,.,10.2节点介绍,ViewpointExposedFieldSFVec3fposition0.00.01.0ExposedFieldSFRotationorientation0.00.01.00.0ExposedFieldSFFloatfieldOfView0.785398FieldSFStringdescription“”ExposedFieldSFBooljumpTRUEEventInSFBoolset_bindEventOntSFBoolisBoundEventOutSFTimebindTime,.,10.2节点介绍,position域的值指定了一个三维坐标,用来说明这个Viewpoint节点在VRML场景中所创建的空间视点的空间位置。该域值的缺省值为0.00.01.0,即将视点放在Z轴正方向的距离坐标原点1.0个单位长度的地点上。Orientation域的值指定了一个空间朝向,就是浏览者在虚拟世界中面对的方向,但不是直接给出方向,而是提供了一个视点绕其旋转的旋转轴,旋转角度指定了绕此轴旋转的数值。VRML中初始化的视点与Z轴负方向对齐,X轴正方向指向右,Y轴正方向指向正上方。Orientation域给出的域值是相对初始化的空间朝向的旋转角度。该域值的前三个值说明了一个三维矢量,即X,Y和Z分量,最后一个值为弧度度量,说明了旋转角度的正负。该域值的缺省值为0.00.01.00.0,即没有发生旋转。,.,10.2节点介绍,FieldOfView域的值指定了视点中视角的大小,其是以弧度为单位的。大的角度产生类似广角镜头的效果,而小的角度产生类似远焦镜头的效果。该域值在0.0和3.142之间设定,即0度和180度之间。其缺省值为0.785398,即45度角,这和现实中人们的视野范围接近。Description域的域值指定了一个用于描述视点的字符串,也可以说是该视点的名字。通过该域值,人们可以很方便地找到自己感兴趣的视点,这些字符串会出现在空间视点列表中,以供人们选择。该域值的缺省值为空字符串。,.,10.2节点介绍,Jump域的值指定了视点是跳跃型还是非跳跃型的,该域值为布尔型数值,TRUE表示跳跃型的空间视点,FALSE表示非跳跃型的空间视点。该域值的缺省值为TRUE,即为跳跃型的。事件入口set_bind、事件出口isBound和事件出口bindTime主要用于空间视点之间相互转换的时候。,.,10.2节点介绍,10.2.2NavigationInfo节点NavigationInfo节点用来提供有关浏览者替身的信息和该替身如何使用当前的视点导航。其节点语法定义如下:NavigationInfoEventInSFBoolset_bindExposedFieldMFFloatavatarSize0.25,1.6,0.75ExposedFieldSFBoolheadlightTRUEExposedFieldSFFloatspeed1.0,.,10.2节点介绍,ExposedFieldMFStringtype“WALK”,”ANY”ExposedFieldSFFloatvisilibityLimit0.0EventOutSFBoolisBoundspeed域的值指定了浏览者在场景中行进的速度,它是以m/s为单位的。大多数浏览器都可以通过浏览器本身的设置来改变漫游速度,漫游的速度也会受到浏览器的设置的影响。当采用EXAMINE导航方式时,speed域不会影响观察旋转的速度。如果type域设置的是none,漫游速度将变为0,浏览者的位置将被固定,但浏览者改变视角将不受影响。,.,10.2节点介绍,Type域的值指定了浏览者的漫游类型,该域值可以在ANY、WALK、FLY、EXAMINE、NONE这5种类型中进行转换。其中WALK表示行走方式,替身会受到重力的影响。FLY表示飞行方式,替身可飞来飞去,不受重力和地形的影响。EXAMINE方式表示替身不能移动,为改变替身与物体之间的距离,只能移动物体。NONE表示不提供导航方法,浏览者只能使用所创建的活动特性来移动。ANY表示浏览器支持以上4种浏览方式。该域值的缺省值为WALK。,.,10.2节点介绍,VisibilityLimit域的值指定了用户能够观察到的最大距离。该域值的缺省值为0.0,表示最远可以观察到无穷远处,visibilityLimit域值必须大于0。如果观察者在最大观察距离之内没有观察到任何对象则显示背景图。在构造一个大的3D场景时,有必要修改visibilityLimit,因为一个大的3D场景运算量是很大的,比如虚拟城市,当远景看不到或可忽略时,就可以利用visibilityLimit域来定义用户能够观察到的最大距离。AvatarSize域的值指定了三维空间中浏览者替身的尺寸。在运行VRML程序时,可以假设三维空间中一个不可见的浏览者替身,通过利
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)股权互换协议书
- (2025年标准)股东竞业协议解除协议书
- 2025年汽车维修技术专业预测试题及答案解析
- (2025年标准)购置农机合伙协议书
- 房东与租客紧急情况处理安全协议范文
- 自然交互姿态设计-洞察及研究
- 网络安全防护体系-第10篇-洞察及研究
- 陶瓷增材制造技术-洞察及研究
- 逻辑推理认知神经基础-洞察及研究
- 2025年新出租集体墓地协议书
- 班主任安全管理培训
- 设计合同监理合同协议
- 基于人工智能的投资决策支持系统设计与优化
- 用合作协议规避劳动合同
- 2025岗位劳动合同范本
- 高速公路交通自动气象站(点)建设规范
- 镗工(技师)技能鉴定精练考试题(附答案)
- 代班协议模板
- 烟草行业网络安全体系建设
- 原材料检验员知识培训
- 幼儿园中班语言《元日》说课
评论
0/150
提交评论