虚拟现实技术实验教案_第1页
虚拟现实技术实验教案_第2页
虚拟现实技术实验教案_第3页
虚拟现实技术实验教案_第4页
虚拟现实技术实验教案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一VRML基本造型一、实验目的1.熟悉VRML浏览器的安装及使用方法。2.了解VRML编辑器vrmlpad的安装及基本用法。3.了解VRML语言的基本语法。4.掌握VRML语言创建的基本几何造型。二、实验器材硬件环境:多媒体计算机软件环境:1.WindowsXP操作系统2.虚拟现实浏览器插件BS_Contact_VRML-X3D.3.VRML编辑器vrmlpad.三、实验原理任何一个VRML场景中的几何造型都必须以Shape节点进行创建,场景造型包括基本的立方体、圆柱、圆锥、圆、文本造型等。四、实验步骤实例1.圆柱基本几何造型。1.输入下例。#VRMLV2.0utf8#Background{# skyColor1.01.01.0#}Shape{ appearanceAppearance{ materialMaterial{ } } geometryCylinder { top FALSE }}2.将本例中关于Cylinder节点的参数进行更改,并观察每个参数的影响。实例2.圆柱基本几何造型。1.输入下例。#VRMLV2.0utf8Background{ skyColor1.01.01.0}Shape{ appearanceAppearance{ materialMaterial{ } } geometrySphere { radius1.6 }}2.将Sphere节点的参数进行更改,并观察更改后的效果。实例3.长方体等基本几何造型的例子。#VRMLV2.0utf8Shape{ appearanceAppearance{ materialMaterial{ } } geometryBox{ }}实验二VRML空间变换实验目的1.理解VRML空间变换的原理。2.掌握Transform节点的用法。实验器材硬件环境:多媒体计算机软件环境:1.WindowsXP操作系统2.虚拟现实浏览器插件BS_Contact_VRML-X3D.3.VRML编辑器vrmlpad.实验原理VRML场景中的每一个造型都是基于当前坐标系进行创建的,而单一坐标系的使用将在很大程度上限制用户的空间想象力和创造力的发挥。在VRML场景中改变空间位置和空间朝向,需要进行VRML空间变换,也即变换造型创建所基于的空间坐标系。VRML空间变换使用Transform节点进行。其主要的语法格式如下:Chilidren []Translation 0.00.00.0Rotation 0.00.01.00.0Scale 1.01.01.0scaleOrientation 0.00.01.00.0Center 0.00.00.0Bboxcenter 0.00.00.0bboxSzie -1.0-1.0-1.0addChildrenremoveChildren实验内容与步骤实例1.楼梯造型代码如下:#VRMLV2.0utf8DEF stairShape { appearanceAppearance{ materialMaterial{ } } geometryBox{ size1.51.05.0 }}Transform{ translation 1.30.80.0 children[ USE stair Transform{ translation 1.30.80.0 children[ USE stair Transform{ translation 1.30.80.0 children[ USE stair ] } ] } ]}效果图如下:实例2.立体鼠标代码如下:#VRMLV2.0utf8Background{ skyColor1.01.01.0}DEF acrossmouseShape{ appearanceAppearance{ materialMaterial{ diffuseColor1.01.00.0 } } geometryCylinder{ radius0.2 height4.0 }}Shape{ appearanceAppearance{ materialMaterial{ diffuseColor0.60.40.2 } } geometryBox{ }}Transform{ rotation1001.571 children[ USE acrossmouse ]}Transform{ rotation0011.571 children[ USE acrossmouse ]}效果图如下:实例3.嵌套使用代码如下:#VRMLV2.0utf8Background{ skyColor1.01.01.0}Group{ children[ Shape{ appearanceAppearance{ materialMaterial{ emissiveColor1.00.80.2 transparency0.5 } } geometrySphere { radius2.0 } } DEF spaceTransform { translation 400 children[ Shape{ appearanceAppearance{ materialMaterial{ diffuseColor1.00.00.0 } } geometrySphere { radius0.5 } } ] } Transform{ rotation0010.785 children[ USE space Transform{ rotation0010.785 children[ USE space Transform{ rotation0010.785 children[ USE space Transform{ rotation0010.785 children[ USE space Transform{ rotation0010.785 children[ USE space Transform{ rotation0010.785 children[ USE space Transform{ rotation0010.785 children[ USE space ] } ] } ] } ] } ] } ] } ] } ]}2.效果如下:实验三VRML材质及纹理实验目的1.理解VRML材质及纹理的主要作用。2.掌握VRML材质及纹理节点的用法。实验器材硬件环境:多媒体计算机软件环境:1.WindowsXP操作系统2.虚拟现实浏览器插件BS_Contact_VRML-X3D.3.VRML编辑器vrmlpad.实验原理造型的材质属性包括造型的反光颜色、发光颜色、明亮程度以及透明度等。造型的材质控制使用Appearance节点的material域的域值设置,material域的域值所使用的材质节点为Material节点。VRML纹理映射是通过将数字纹理根据几何体的外形,按一定规则映射到几何造型或文本造型的表面。纹理映射是包括VRML在内的各种三维技术广泛使用的一种增效渲染方法。该方法通过在造型表面映射具有微观细节的数字纹理,极大地改善了单纯使用Material节点进行材质渲染所呈现的视觉宏观效果。本实验涉及到的主要节点:Appearance{materialtexturetextureTransform}ImageTexture{url( )repeatSrepeatY}TextureTransform{translation 0.0 0.0rotation 0.0scale 1.0 1.0center 0.0 0.0}实验内容与步骤实例1.广告牌。代码如下:#VRMLV2.0utf8Shape{ appearanceAppearance{ texture ImageTexture{ url "2.jpg" } } geometryBox{ size220.04 }}Transform{ translation 00-0.1 children[ Shape{ appearanceAppearance{ materialMaterial{ diffuseColor011 } } geometryBox{ size220.16 } } ]}2.其效果如下:实例2.视频纹理。1.代码如下:#VRMLV2.0utf8Background{ skyColor111}Transform{ translation 00-0.1 children[ Shape{ appearanceAppearance{ materialMaterial{ diffuseColor0.50.60.1 } } geometryBox{ size1580.2 } } ]}Shape{ appearanceAppearance{ textureDEF mpegMovieTexture{ url "dahanzhan.mpeg" loopTRUE # speed0.1 } } geometryBox{ size1270.1 }}效果图如下:实例3.纹理缩放。代码如下:#VRMLV2.0utf8Background{ skyColor0.60.20.2}Shape{ appearanceDEFaaAppearance{ texture ImageTexture{ url "front.bmp" #repeatS TRUE repeatT FALSE } textureTransformTextureTransform{ scale 22 } } geometryBox{ size20102 }}Transform{ translation 00-2 children[ Shape{ appearanceUSEaa geometrySphere { } } ]}效果如下: 实验四视点与导航实验目的1.掌握VRML视点及导航控制实验器材硬件环境:多媒体计算机软件环境:1.WindowsXP操作系统2.虚拟现实浏览器插件BS_Contact_VRML-X3D.3.VRML编辑器vrmlpad.实验原理VRML所提供的视点是在所浏览的场景中预先由用户定义的观察位置及空间朝向。在这个位置且通过该朝向,用户可以浏览到虚拟世界中相应场景的指定部分。同一个VRML场景中可以设置许多个视点,但一次浏览只有一个视点是可用的。视点控制通过Viewpoint节点进行实现。虚拟场景中,NavigationInfo导航信息节点用来提供浏览者化身信息以及该化身如何使用当前的视点进行系统导航。实验内容与步骤实例1.视点应用代码如下#VRMLV2.0utf8Background{ skyColor0.850.850.85}Viewpoint{ position0.00.016.0 description "view1"}Viewpoint{ position0.00.03.0 description "v2"}Viewpoint{ orientation 001-0.0 description "v3"}Viewpoint{ orientation 0011.571 description "v4"}Viewpoint{ fieldOfView 0.1 description "v5"}Viewpoint{ fieldOfView 1.571 orientation 001-3.14 description "v6"}Viewpoint{ description "v7" position001}Group{ children[ Shape{ appearanceAppearance{ materialMaterial{ diffuseColor0.20.40.6 } } geometryCone{ bottomRadius1 height2 } } Transform{ translation 01.40 children[ Shape{ appearanceAppearance{ materialMaterial{ diffuseColor0.20.40.6 } } geometryBox{ size0.80.80.8 } } ] } ]}2.效果如下: 视点一 视点二 视点三 视点四 视点五 视点六实例2.导航控制代码如下用到的实例#VRMLV2.0utf8Group{ children[ DEF ylineGroup { children[ DEF xlineGroup { children[ DEF oneGroup{ children[ Shape{ appearanceAppearance{ materialMaterial{ diffuseColor0.690.360.93 specularColor0.530.530.53 ambientIntensity0.1 shininess0.9 } } geometrySphere {} } Transform{ translation 0-1.30 children[ Shape{ appearanceAppearance{ materialMaterial{ diffuseColor110 specularColor0.820.280.28 ambientIntensity0.12 shininess0.8 } } geometryCone{} } ] } ] } Transform{ translation -400 children[ USE one ] } Transform{ translation 400 children[ USE one ] } ] } Transform{ translation 0-40 children[ USE xline ] } Transform{ translation 040 children[ USE xline ] } ] } Transform{ translation 00-4 children[ USE yline ] } Transform{ translation 004 children[ USE yline ] } ]}导航设置代码一:#VRMLV2.0utf8NavigationInfo{ type"WALK"}Viewpoint{ position0022}Inline{ url "e12.2.wrl"}导航设置代码二:#VRMLV2.0utf8NavigationInfo{ speed0}Viewpoint{ position0020}Inline{ url "e12.2.wrl"}实验五VRML动画一、实验目的1.掌握VRML动画的基本机理。2.掌握VRML的5中基本动画,并能自由地进行程序设计。二.实验器材硬件环境:多媒体计算机软件环境:1.WindowsXP操作系统2.虚拟现实浏览器插件BS_Contact_VRML-X3D.3.VRML编辑器vrmlpad.三、实验原理VRML动画依据一个给定的时间传感器以及一系列插补器节点对场景中的动画进行控制。节点不但拥有域属性,还有事件属性,分为出事件和入事件eventOut,eventIn,域则分为私有域和公共域exposedField。某个节点的事件出口和其他节点的事件入口之间用于传递事件的通道称为路由。通常情况下,时间传感器的startTime域被另一个对用户动作做出反应的传感器或脚本传来的时间事件设置。在startTime设定的时刻以前,时间传感器不产生任何事件,在该时刻到来时,将产生值为TRUE的isActive事件,并开始产生time,cycleTime和fraction_changed事件,time事件是一个总保持当前时刻值的连续发生的事件,而其他与时间相关的事件则是周期性发生的事件。四、实验步骤实例1.朝向插补器动画#VRMLV2.0utf8Background{ skyColor111}DEF barTransform{ translation -6.000 children[ Shape{ appearanceAppearance{ materialMaterial{ diffuseColor0.50.30 ambientIntensity0.4 specularColor0.70.70.6 shininess0.20 } } geometryCylinder{ height6.0 radius0.2 } } ]}DEF clockTimeSensor{ cycleInterval8 loopTRUE}DEF inter1OrientationInterpolator{ key [ 00.1250.25 0.3750.50.625 0.750.8751.0 ] keyValue[ 00-10 00-10.875 00-11.571 00-12.356 00-13.141 00-1 3.926 00-14.711 00-15.496 00-16.281 ]}DEF inter2PositionInterpolator { key [ 00.51.0 ] keyValue[ -600 000 600 ]}ROUTEclock.fraction_changedTO inter1.set_fractionROUTEinter1.value_changedTObar.set_rotationROUTEclock.fraction_changedTO inter2.set_fraction#ROUTEinter2.value_changedTObar.set_translation效果图如下,该实例实现了物体自由转动的效果。实例2.位置插补器动画#VRMLV2.0utf8Background{ skyColor111}DEF ballTransform{ children[ Shape{ appearanceAppearance{ materialMaterial{ diffuseColor0.580.510.09 specularColor0.920.430.01 ambientIntensity0.117 shininess0.4 } } geometrySphere {} } ]}DEF clockTimeSensor{ cycleInterval10 loopTRUE}DEF interPositionInterpolator{ key [ 00.330.671 ] keyValue[ -3.000 3.000 030 -300 ]}ROUTEclock.fraction_changedTO inter.set_fractionROUTEinter.value_changedTOball.set_translation该实例实现了造型的自由运动实例3.标量插补器动画#VRMLV2.0utf8Background{ skyColor111}DEF rotTransform{ children[ Shape{ appearanceAppearance{ materialDEFcolorMaterial { diffuseColor0.80.50.8 transparency0 } } geometrySphere { radius2 } } Shape{ appearanceAppearance{ materialMaterial{ diffuseColor100 } } geometryCone{ bottomRadius1 height2 } } ]}DEF clockTimeSensor{ cycleInterval10 loopTRUE}DEF inter1ScalarInterpolator{ key [ 00.250.50.751 ] keyValue[ 00.500.50 ]}DEF inter2OrientationInterpolator{ key [ 00.1250.250.375 0.50.6250.750.875 1 ] keyValue[ 1110.0 1110.785 1111.571 1112.356 1113.141 1114.711 1115.496 1116.281 ]}ROUTEclock.fraction_changedTO inter1.set_fractionROUTEinter1.value_changedTOcolor.set_transparencyROUTEclock.fraction_changedTO inter2.set_fractionROUTEinter2.value_changedTOrot.set_rotation该实例通过标量插补,实现了物体透明度的变化。实验六Cult3D技术一、实验目的1.掌握Cult3D技术的特点,了解Cult3D技术的应用领域2.掌握Cult3D软件的安装与运行,Cult3D作品的浏览3.掌握Cult3D软件的基本操作。二、实验器材硬件环境:多媒体计算机软件环境:可用WindowsXP操作系统,Cult3D软件三、实验原理Cult3D的开发过程比较简单,如图所示,经过三步,就可以制作出Cult3D的作品。四、实验步骤实例1.基本三维展示(演示实验)在这个实例中,主要介绍如何制作对物体进行三维展示,用鼠标的左键对物体旋转,鼠标的右键对物体进行放与缩小,鼠标的左右键同时按下时则移动这个物体的位置。1.启动程序。2.添加openbox.c3d素材文件(实例1的作品文件)。3.将EventMap窗口中的Leftmouseclickonobject拖入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论