虚拟现实场景模拟论文剖析

上传人:我** 文档编号:114809471 上传时间:2019-11-12 格式:DOC 页数:14 大小:2.33MB
返回 下载 相关 举报
虚拟现实场景模拟论文剖析_第1页
第1页 / 共14页
虚拟现实场景模拟论文剖析_第2页
第2页 / 共14页
虚拟现实场景模拟论文剖析_第3页
第3页 / 共14页
虚拟现实场景模拟论文剖析_第4页
第4页 / 共14页
虚拟现实场景模拟论文剖析_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《虚拟现实场景模拟论文剖析》由会员分享,可在线阅读,更多相关《虚拟现实场景模拟论文剖析(14页珍藏版)》请在金锄头文库上搜索。

1、虚 拟 现 实课程学习实践报告院 系:理学院数学系 专 业:应用数学 班 级:应数1301 学 号:131003014 姓 名:李媛媛 任课教师:侯筱婷 日 期:2016年5月 VRML基础三维场景建模一参考“VRML2.0交互式三维图形编程”等文献资料,回答下列问题。1) field, exposedField, eventIn, eventOut(P13) 节点有的是用来定义三维形体,有的是用来定义形体的显示特征如颜色,有的是用来产生形体的运动等变化,每一个节点都有一个或者多个参数,这些参数称为字段(field)及事件(event).字段有两种类型:field,exposedField,事

2、件也有两种:eventIn,eventOut,我们把它翻译成事件进和事件出2) vrml的坐标系统(国际标准规定,P16) VRML文件显示的是三维空间的物体,将其所生产的物体放置在一个符合右手螺旋法则的三维坐标系中,可以将这个坐标系看做是程序的总体坐标系,国际标准规定:物体从+Z轴方向投影在一个+X轴向右、+Y轴向上的二位坐标系统中,+Z轴朝外,人的眼睛及观察点的坐标为(0 0 10)人的眼睛朝原点看去,这是缺省时的观察位置及观察方向。3) 局部坐标系(P16,Transform节点构建局部坐标系P37) 一些VRML程序中的Transform,Group节点可以使多个物体组成一个节点组,节

3、点组可以放置在空间的任意地方,也可以在程序中移动或旋转节点组的坐标,一个大节点组里可以有小节点组,小节点组里可以有小小节点组,每个节点组拥有一个坐标系,称为这个节点组的局部坐标系。Transform是一个重要的组节点,它可以构成一个局部坐标系,利用translation,rotation,scale等字段可以对Transform的字节点中的形体产生移位、旋转、比例放缩等效果。4)Appearance节点(P22)的三个域material、texture(重点:ImageTexture节点)、 textureTransform(P109用来实现纹理的几何变换,产生特殊效果纹理,比如贴图的重复和部

4、分显示) Appearance节点可以用来定义形体的外观效果,如材质、贴图。其三个域为 material、texture、 textureTransform。可以用在material后面的节点是Material,它定义了物体的材质。可以用在texture后面的节点是ImageTexture,Movietexture,Pixeltexture三个节点,texture在计算机图形学里表示纹理。ImageTexture,Movietexture,Pixeltexture分别表示静止图片纹理、运动影像纹理、像素图纹理。可用在textureTransform后面的节点为TextureTransform,

5、这一节点可以用来进行纹理的几何变换,以产生特殊效果的纹理,还可以使贴图旋转。5)Extrusion挤出造型节点(P23,扭曲造型怎样实现) 通过Extrusion节点可以生成一个拉伸体,拉伸及诶单形成一个形体,形体由一个断面沿着三维空间里的一条折线段伸展而成,断面在不同位置可以有比例的变化甚至旋转,由此生成我们所需要的有复杂形状的物体。6)和空间中点相关的节点:Coordinate节点(P23)、PointSet节点(P29-30,用Material节点的emissiveColor来定义点的颜色,模拟夜空中的星星)Coordinate节点只有一个字段:point,表示点的坐标,由于这个字段是e

6、xposedField字段,因而可以在程序运行时改变点的坐标。PointSet节点有两个字段,并且是在程序运行时可以改变的字段,PointSet节点主要用于表示夜晚天空的星星,点的大小不能定义,可以定义多个点的坐标和颜色,也可以只定义点的坐标,点的颜色利用Material节点的emissiveColor.7)IndexedFaceSet节点(P32,平面的正方向确定、solid域的作用、构造每个面有不同颜色的三维形体、实现正反面不同贴图)构造三锥形体时,常常觉得基本形体无法满足需求,这是我们可以利用IndexedFaceSet节点来造型,IndexedFaceSet节点通过三个或多个顶点构造平

7、面多边形来表现三维物体的形状,理论上说,任何三维形体都可以由IndexedFaceSet节点精确或近似的构造8)Group节点和Transform节点的比较(P41) Group节点和Transform有相同的地方:它可以把多个形体结合在一起,但Group节点没有形体几何变换的功能,可以说Group节点是一个没有几何变化的Transform节点。Group在程序中的使用主要是为了使文件内的形体有一个合理的组合,方便复杂文件的阅读和分析。9)DEF和USE(P42) VRML2.0中DEF用来给节点命名,任何需要重复使用的节点都可以用DEF命名,在其它地方用USE使用它,DEF和USE使用起来非

8、常简单:先用吧DEF来命名,使用时用USE代替原先大段内容。10)Anchor(锚/链接节点,P43)可用于实现场景中显示提示信息引导用户文件跳转、视点跳转(解决三维漫游时迷失方向问题)等。Anchor节点有两个主要作用: 第一个作用是从一个文件跳到另一个文件去,Anchor附在某一形体上,并附带有另一文件的地址,当鼠标移动到这一形体上时,鼠标的形状发生变化,点取这一形体时,浏览器将调用另一文件,这一文件可以是VRML文件,也可以是HTML,文件或其他浏览器可以执行的文件。第二个作用是在同一个文件中从一个观察点跳到另一个观察点,例如跳到一个较好的显示位置。有了这样的作用我们在浏览三维世界时就不

9、会迷失了方向,一旦迷失了方向,我们可以跳回到一个设定好的位置及方向。11) Billboard(布告牌节点,P44)可实现某些形体无论视点怎么变化始终面向观察者。 Billboard节点可用来调节局部坐标系的方位,使得局部坐标系的Z轴随着观察方向的改变而绕Y轴(0 1 0)或X(1 0 0)轴旋转,并永远指向观察者。12) Vrml的Collision(碰撞检测节点)不能实现形体和形体之间的碰撞检测,考虑如何实现?(可选)13) 视点固定,视角动态变化的例子(P53,应用标量插补器节点) 一个固定的物体,观察点是固定的,但观察的视角在不断的变化,由大变小,由小变大,这一变化由标量插补器节点做出

10、。14)定义NavigationInfo导航节点,实现限制观察者程序运行时对三维环境的控制程度的例子(P59)。EX5-08程序通过NavigationInfo节点的定义,使观察者不能移动观察点或旋转观察方向,只能通过点击带有锚节点的是形体,以此来改变Viewpoint,其目的是限制人们在程序运行时对三维环境的控制程度。15)Inline节点可用于实现复杂场景模块化建模(P115) Inline节点可用来将外部的VRML程序调入Inline节点所在的VRML程序,以此构造复杂的三维空间,外部的VRML程序调入后被摆放在Inline节点所在的局部坐标系中。16)LOD节点可用于实现根据视点距离形

11、体的远近动态调用形体不同精细级别的模型,通常与Inline节点配合使用(P116)。LOD可用来定义一个复杂物体的不同细节,并根据观察点离物体离的远近,让浏览器自动选择合适的浏览内容以产生合适的显示效果。在浏览三维世界时,有的复杂的形体离观察着较远,如果将其调入到计算机内存,计算机需要进行复杂的计算,有事这样的计算会影响计算效果,如速度跟不上,为简化计算,我们可以用简单的形体代替复杂的形体,直至形体离观察点较近时再调进复杂的形体,这样既能提高显示速度,又能满足显示效果的需求。LOD节点就是完成这样工作的节点,它通常与Inline节点共同使用,能够在浏览时自动计算观察点与复杂形体你的距离,并且根

12、据距离的远近,调用形状简单或复杂的模型。17)Switch选择节点,常和Script节点配合使用(P119)。 Switch节点主要用来在多种选择中作出某种选择,例如某形体上的贴图又三种,根据具体的需求选择其中的一种,在编程时,Switch节点一般与Script节点一起使用。18)PROTO原型节点,可以定义新的节点(P122)。 VRML97国际标准允准人们用PROTO来定义新的节点,这样我可以有自己的节点了,PROTO给我们带来了灵活和方便。在其19)内插器节点需要和时间传感器节点配合使用,时间周期归一化(P53)19)内插器节点需要和时间传感器节点配合使用,时间周期归一化(P53)内插器

13、节点主要有:ColorInterpolator(颜色插补器),CoordinateInterpolator(坐标插补器),NormalInterpolator(平面正法线插补器),OrientationInterpolator(方向插补器),PositionInterpolator(位置插补器),ScalarInterpolator(SFFloat插补器)六种,由于插补器节点的作用都是随着时间的变化而产生的,所以,这些插补器节点在使用时都需要与一个时间传感器(TimeSenser)配合使用。TimeSenser节点会在cycIeIntervar给定时间的周期长度,但TimeSenser节点会将

14、其转换为归一化的时间周期,在插补器中使用时只需使用归一化的时间周期节点即可。1. 内插器节点的字段和事件(一个enventIn,一个eventOut,两个exposedField)的作用(P53) 所有的插补器节点都有两个exposedField字段和一个入事件,一个出事件。其中两个exposedField字段分别是用来指定插补器产生作用的关键时间节点值的key字段,和指定与key中关键时间节点相对应的变化参数值的keyValue字段,这两个字段会根据插补器的不同有不同的参数类型的要求。但一般都是多值类型。在两个时间当中,入事件setfraction负责接受TimeSenser节点时间值的变化

15、量,而出事件则是将插补器通过传入的时间值变化量计算得到的对应功能参数的变化量传出到相应的节点当中,从而实现动态的效果。21)CoordinateInterpolator实现形体的变形(非基本形体)和点的跳跃的例子。 形体变形:Shape appearance Appearance material Material diffuseColor 1 1 0#指定形体的颜色为黄颜色geometry IndexedFaceSet#指定形体为面造型coord DEF co Coordinatepoint -3 -1 -2,-3 -1 2,3 -1 2,3 -1 -2,-3 1 -2,-3 1 2,3 1 2,3 1 -2#定义面造型上的顶点坐标coordIndex 0 1 2 3 -1,4 7 6 5 -1,0 4 5 1 -1,0 3 7 4 -1,3 2 6 7 -1,2 1 5 6 -1#定义构造面是得顶点连接序列DEF ts TimeSensor #定义时间传感器cycleInterval 10.0#将时间传感器的周期设置为10秒l

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号