




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章视点控制 当我们在商场或超市选购东西时 一般不是每一件物品都要看的 而是直奔有自己所感兴趣的东西的地方 在VRML虚拟世界中也一样 并不是每一个场景都是浏览者所要看的 浏览者往往只会寻找自己感兴趣的东西 但寻找有用的东西常常需要花费大量的时间和精力则是浏览者不想的 这就涉及到VRML的视点控制 VRML提供了两个用来创建视点的节点 Viewpoint节点和NavigationInfo节点 10 1基本概念 在VRML中的视点就是一个你所浏览的空间中预先定义的观察位置和空间朝向 在这个位置上通过这个朝向 浏览者就可以观察到虚拟世界中相应的场景 当然 同其他节点一样 在VRML虚拟世界中可以创建多个视点 以供浏览者选择 不过浏览者在任何时候 在一个虚拟空间中只有一个空间视点可用 也就是说不允许同时使用几个视点 这与人只有一双眼睛是相符合的 视点绑定可使你控制那个可用的视点 并可从一个视点切换到另一个视点 10 1基本概念 从一个视点切换到另一个视点有两种途径 一是跳跃型的 一是非跳跃型的 前面所说的顾客在网上虚拟超市购物 就是跳跃型视点 该类型视点一般用来说明那些在虚拟世界中重要的 有趣的和顾客感兴趣的观察地点 他们提供了一种快捷方便的机制 使浏览者不必浏览每一个景点 而非跳跃型视点一般用来建立一种从一个坐标系到另一个坐标系的平滑转换 也可称是快速浏览 导航就是在VRML虚拟世界中使用一个三维的造型作为浏览者在虚拟世界中的替身 并可使用替身在虚拟世界中行走 通过该替身来观看虚拟世界 还可以通过替身去进行交互 10 2节点介绍 10 2 1Viewpoint节点Viewpoint节点说明了一个VRML空间坐标系中的观察位置 指定了这个观察位置在VRML空间的三维坐标 空间朝向以及视野范围等参数 该节点既可作为独立的节点 也可作为其他组节点的子节点 其节点语法定义如下 10 2节点介绍 Viewpoint ExposedFieldSFVec3fposition0 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节点用来提供有关浏览者替身的信息和该替身如何使用当前的视点导航 其节点语法定义如下 NavigationInfo EventInSFBoolset bindExposedFieldMFFloatavatarSize 0 25 1 6 0 75 ExposedFieldSFBoolheadlightTRUEExposedFieldSFFloatspeed1 0 10 2节点介绍 ExposedFieldMFStringtype WALK ANY ExposedFieldSFFloatvisilibityLimit0 0EventOutSFBoolisBound speed域的值指定了浏览者在场景中行进的速度 它是以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程序时 可以假设三维空间中一个不可见的浏览者替身 通过利用该替身来进行碰撞检测 AvatarSize域有三个参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025人民医院儿科门诊管理规范考核
- 2025中心医院Monteggia骨折诊断与治疗考核
- 衡水市人民医院针灸器械消毒管理考核
- 2025河南新乡市碳汇计量检测中心招聘考前自测高频考点模拟试题及完整答案详解
- 衡水市人民医院培训效果评估考核
- 邢台市中医院眼科检查设备校准考核
- 2025第二人民医院靶向治疗检测考核
- 石家庄市中医院血型鉴定技术资格认证
- 2025年福建省宁德市公安局招聘94人考前自测高频考点模拟试题及完整答案详解
- 邢台市人民医院溶栓治疗决策能力专项考核
- 音乐治疗和心理剧演出你内心的音乐
- 液塑限自动计算程序
- 云南民族民间舞蹈课件
- 村卫生室药品管理制度
- 掩耳盗铃儿童故事绘本PPT
- CIED植入围手术期抗凝治疗
- 现代医学实验动物科学和比较医学研究
- 《发现雕塑之美》第4课时《加法与减法的艺术》
- 澳门立法会间接选举制度及其实践
- 1-5年级英语单词
- GA 1551.3-2019石油石化系统治安反恐防范要求第3部分:成品油和天然气销售企业
评论
0/150
提交评论