虚拟现实场景模拟论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

虚拟现实

课程学习实践报告

院系:理学院数学系

专业:应用数学

班级:应数1301

学号:131003014

姓名:李媛媛

任课教师:侯筱婷

日期:2016年5月______

VRML 基础——三维场景建模

一.参考“ VRML2.0交互式三维图形编程”等文献资料,回答下列问题。

1)field, exposedField, eventIn, eventOut (P13)节点有的是用来定义三维形体,有的是用来定义形体的显示特征如颜色,有的是用来产生形体的运动等变化,每一个节点都有一个或者多个参数,这些参数称为字段(field )及事件(event ). 字段有两种类型:field,exposedField, 事件也有两种:eventIn,eventOut, 我们把它翻译成事件进和事件出

2)vrml 的坐标系统(国际标准规定,P16)

VRML 文件显示的是三维空间的物体,将其所生产的物体放置在一个符合右手螺旋法则的三维坐标系中,可以将这个坐标系看做是程序的总体坐标系,国际标准规定:物体从+Z轴方向投影在一个+X轴向右、+Y轴向上的二位坐标系统中,+Z 轴朝外,人的眼睛及观察点的坐标为(0 0 10 )人的眼睛朝原点看去,这是缺省时的观察位置及观察方向。

3)局部坐标系(P16,Transform 节点构建局部坐标系P37)

一些VRM程序中的Transform,Group节点可以使多个物体组成一个节点组,节点组可以放置在空间的任意地方,也可以在程序中移动或旋转节点组的坐标,一个大节点组里可以有小节点组,小节点组里可以有小小节点组,每个节点组拥有一个坐标系,称为这个节点组的局部坐标系。Transform 是一个重要的组节点,它可以构成一个局部坐标系,利用translation,rotation,scale 等字段可以对Transform 的字节点中的形体产生移位、旋转、比例放缩等效果。

4)Appearanee 节点(P22)的三个域material、texture (重点:ImageTexture

节点)、textureTransform (P109用来实现纹理的几何变换,产生特殊效果纹理,比如贴图的重复和部分显示)

Appeara nee节点可以用来定义形体的外观效果,如材质、贴图。其三个域为material 、texture 、textureTransform 。可以用在material 后面的节点是

Material ,它定义了物体的材质。可以用在texture 后面的节点

是ImageTexture,Movietexture,Pixeltexture 三个节点,texture 在计算机图形学里表示纹理。ImageTexture,Movietexture,Pixeltexture 分别表示静止图片纹理、运动影像纹理、像素图纹理。可用在textureTransform 后面的节点为TextureTransform ,这一节点可以用来进行纹理的几何变换,以产生特殊效果的纹理,还可以使贴图旋转。

5)Extrusion挤出造型节点(P23,扭曲造型怎样实现)

通过Extrusion 节点可以生成一个拉伸体,拉伸及诶单形成一个形体,形体由一个断面沿着三维空间里的一条折线段伸展而成,断面在不同位置可以有比例的变化甚至旋转,由此生成我们所需要的有复杂形状的物体。

6)和空间中点相关的节点:Coordinate 节点(P23)、PointSet 节点(P29-30,用Material 节点的emissiveColor 来定义点的颜色,模拟夜空中的星星)Coordinate 节点只有一个字段:point ,表示点的坐标,由于这个字段是exposedField 字段,因而可以在程序运行时改变点的坐标。PointSet 节点有两个字段,并且是在程序运行时可以改变的字段,PointSet 节点主要用于表示夜晚天空的星星,点的大小不能定义,可以定义多个点的坐标和颜色,也可以只定义点的坐标,点的颜色利用Material 节点的emissiveColor.

7) 1 ndexedFaceSet节点(P32,平面的正方向确定、solid 域的作用、构造每个

面有不同颜色的三维形体、实现正反面不同贴图)

构造三锥形体时,常常觉得基本形体无法满足需求,这是我们可以利用IndexedFaceSet 节点来造型,IndexedFaceSet 节点通过三个或多个顶点构造平面多边形来表现三维物体的形状,理论上说,任何三维形体都可以由IndexedFaceSet 节点精确或近似的构造

8)Group 节点和Transform 节点的比较(P41)

Group 节点和Transform 有相同的地方:它可以把多个形体结合在一起,但Group 节点没有形体几何变换的功能,可以说Group节点是一个没有几何变化的Transform 节点。Group在程序中的使用主要是为了使文件内的形体有一个合理的组合,方便复杂文件的阅读和分析。

9)DEF和USE( P42)

VRML2.0中DEF用来给节点命名,任何需要重复使用的节点都可以用DEF命名,在其它地方用USE使用它,DEF和USE使用起来非常简单:先用吧DEF来命名,使用时用USE代替原先大段内容。

10) Anchor (锚/链接节点,P43)可用于实现场景中显示提示信息引导用户文件跳转、视点跳转(解决三维漫游时迷失方向问题)等。

Anchor 节点有两个主要作用:第一个作用是从一个文件跳到另一个文件去,Anchor 附在某一形体上,并附带有另一文件的地址,当鼠标移动到这一形体上时,鼠标的形状发生变化,点取这一形体时,浏览器将调用另一文件,这一文件可以是VRM文件,也可以是HTML, 文件或其他浏览器可以执行的文件。

第二个作用是在同一个文件中从一个观察点跳到另一个观察点,例如跳到一个较好的显示位置。有了这样的作用我们在浏览三维世界时就不会迷失了方向,一旦迷失了方向,我们可以跳回到一个设定好的位置及方向。

11)Billboard (布告牌节点,P44)可实现某些形体无论视点怎么变化始终面向观察者。

Billboard 节点可用来调节局部坐标系的方位,使得局部坐标系的Z 轴随着观察方向的改变而绕丫轴(0 1 0)或X( 1 0 0)轴旋转,并永远指向观察者。

12)Vrml 的Collision (碰撞检测节点)不能实现形体和形体之间的碰撞检测,考虑如何实现?(可选)

13)视点固定,视角动态变化的例子(P53,应用标量插补器节点)一个固定的物体,观察点是固定的,但观察的视角在不断的变化,由大变

小,由小变大,这一变化由标量插补器节点做出。

14)定义NavigationInfo 导航节点,实现限制观察者程序运行时对三维环境的控制程度的例子(P59)。

EX5-08程序通过Navigationlnfo 节点的定义,使观察者不能移动观察点或旋转观察方向,只能通过点击带有锚节点的是形体,以此来改变Viewpoint ,其目的是

相关文档
最新文档