虚拟现实技术vrml程序设计4-5-6章.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
虚拟现实技术vrml程序设计4-5-6章

VRML程序设计 四、造型的空间变换、编组和素材调用 4.1 造型的空间变换 4.2 造型编组和素材调用 4.3 其他组节点的使用 4.1 造型的空间变换 在VRML中创建的立体造型都是以默认坐标系的原点为中心进行定位的。Transform坐标变换节点可以创建一个新的坐标系,通过对坐标系的平移、旋转、缩放操作,实现对立体造型位置、角度、缩放比例的改变 。 4.2 造型编组和素材调用 VRML提供了一类具有编组功能的节点,它们可以把多个造型作为自己的子节点组合成一个整体,一起进行平移、旋转、缩放、外观设计、定义和调用等项操作。在设计中合理使用组节点,能够减少很多重复性的工作。这类组节点包括:Group编组节点、Transform坐标变换节点、Inline内联接点、Anchor超级链接节点、Switch选择开关节点、Billboard布告牌节点和LOD细节层次控制节点等。 4.3 其他组节点的使用 一、Billboard布告牌节点 Billboard { eventIn MFNode addChildren eventIn MFNode removeChildren exposedField SFVec3f axisOfRotation 0 1 0 exposedField MFNode children [] field SFVec3f bboxCenter 0 0 0 field SFVec3f bboxSize -1 -1 -1 } 第五章、虚拟现实的场景环境设计 5.1 创建背景 5.2 创建光源 5.3 创建雾化效果 5.4 创建观察视点和视点导航 5.1 创建背景 在VRML中添加背景是最简单、最基本的场景环境设计方法。虚拟空间背景分为全景空间背景和天体空间背景两种:全景空间背景是一个将造型包围在里面的空间立方体,具有前、后、左、右、上、下六个平面,可以根据需要设置不同的材质和图片。天体空间背景是一个无穷大的空间球体,分为天空背景和地面背景。天空和地面的划分以地平线为界。地平线位于原始坐标系XOZ平面向后延伸的无穷远处,上面的球体是天空,下面的球体是地面。背景和造型的嵌套关系是:造型在最里面,全景空间背景的立方体为中间包围层,天体空间背景的无穷大球体是最外面的包围层。如果同时增加了全景空间和天体空间两种背景,可以通过设置全景空间背景的透明度值决定能否看到天空和地面的颜色。默认情况下,没有全景空间背景,天空和地面均为黑色。 5.2 创建光源 现实世界中的光源来自于各种能发光的物体,例如太阳、灯泡、蜡烛、激光器等。 在默认情况下,VRML浏览器自动生成一个白色头灯光源headlight。此光源为平行光束,与浏览者的视点同步运动,始终照亮浏览者的前方,和井下工作的矿工帽子上的头灯很相似。头灯光源可以通过设置NavigationInfo节点的headlight域的域值,控制光源打开或关闭(FALSE),默认缺省情况下,头灯为打开状态,光源的颜色无法改变。本章之前所有的实例均采用这种默认的白色头灯光源。 除此之外,VRML中还可以人工设置三种类型的光源:点光源:点光源 (PointLight节点),平行光源(DirectionalLight节点)和锥光源(SpotLight节点)。 5.3 创建雾化效果 在vrml中使用Fog雾节点创建雾化效果,模拟自然界的大气现象,使虚拟现实的场景更加逼真、更加具有层次感,创造一种朦胧的美。雾化效果主要控制两个因素:一是雾的颜色,二是雾的浓度。雾的颜色可以按照实际情况任意选择,但通常使用白色,因为白色更接近自然界雾的本色。雾的浓度与人在雾中的能见度相反,雾越浓人的能见度越差,因此可以通过设定观察者能见范围的大小来调整雾的浓淡程度。 5.4 创建观察视点和视点导航 Viewpoint视点节点 Viewpoint { eventIn SFBool set_bind exposedField SFFloat fieldOfView 0.785398 exposedField SFBool jump TRUE exposedField SFRotation orientation 0 0 1 0 exposedField SFVec3f position 0 0 10 field SFString description eventOut SFTime bindTime eventOut S

您可能关注的文档

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档