虚拟现实实验报告.docx
- 文档编号:11261048
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:37
- 大小:828.41KB
虚拟现实实验报告.docx
《虚拟现实实验报告.docx》由会员分享,可在线阅读,更多相关《虚拟现实实验报告.docx(37页珍藏版)》请在冰豆网上搜索。
虚拟现实实验报告
实验一造型定位和旋转、缩放
一、实验内容:
1.熟悉VrmlPad编辑器的安装和使用
2.熟悉Cortonaplayer浏览器的安装和使用
3.掌握虚拟造型的基本操作。
二、实验环境:
1.硬件环境
计算机一台
2.软件环境
WindowsXP操作系统、VrmlPad编辑器和Cortonaplayer浏览器
三、实验步骤:
完成第四章例4-1
代码:
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor0.90.10.05
}
}
geometrySphere{
radius0.85
}
}
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor0.80.90.1
}
}
GeometryCylinder{
radius0.3
height2.0
bottomFALSE
}
}
截图:
实验二三维立体造型的设计与实现(需交实验报告)
一、实验内容
1.熟悉各种立体造型的设计
2.学会利用各种不同的立体造型组合实现复杂的造型
二、实验环境
1.硬件环境
计算机一台
2.软件环境
WindowsXP操作系统、VrmlPad编辑器和Cortonaplayer浏览器
三、实验步骤:
1.制作一个烟囱的立体造型,首先以原点为中心生成一个半径为1、高度为2的圆柱体,然后以(0,0,1.5)为坐标变换节点的新原点生成一个底面半径为2,高度为1的圆锥体。
2.建立一个带刻度的钟表造型:
首先生成钟表面box造型,然后在钟表面上利用球体sphere造型生成各个刻度,利用圆柱体cylinder造型生成时针、分针等造型。
其中利用Transform坐标变换节点对各个造型进行平移、缩放以及旋转操作。
3.设计一个文本造型。
4、完成书中第四章的例4-2、4-3和4-4。
1)4-2
代码:
Transform{
translation-200
rotation0010.5
children[
DEFlegShape{
appearanceAppearance{
materialMaterial{
diffuseColor0.30.30.3
ambientIntensity0.3
specularColor0.70.70.7
shininess0.1
}
}
geometryBox{
size20.24
}
}
]
}
Transform{
translation200
rotation001-0.5
children[
USEleg
]
}
Transform{
translation00.520
scale1.511
children[
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor0.50.30.2
transparency0.15
}
}
geometryCylinder{
radius3
height0.1
}
}
]
}
截图:
2)4-3
代码:
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor1.000
}
}
geometryText{
string[
"Happy""new""Year!
"
]
fontStyleFontStyle{
style"BOLDITALIC"
size0.8
justify"MIDDLE"
}
}
}
Transform{
translation-3-0.50
scale1.21.21.2
children[
Inline{
url"1-1.wrl"
}
]
}
Transform{
translation3-0.50
scale1.21.21.2
children[
Inline{
url"1-1.wrl"
}
]
}
截图:
3)4-4
代码:
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor100
}
}
geometryIndexedFaceSet{
coordCoordinate{
point[
0.00-0.05-1,0.35-0.10-1,
0.53-0.26-1,0.63-0.50-1,
0.79-0.71-1,1.00-0.87-1,
1.24-0.97-1,1.50-1.00-1,
1.76-0.97-1,2.00-0.90-1,
0.00-0.05-1,0.35-0.101,
0.53-0.26-1,0.63-0.501,
0.79-0.71-1,1.00-0.871,
1.24-0.97-1,1.50-1.001,
1.76-0.97-1,2.00-0.901,
]
}
coordIndex[
010111-1,111122-1,
212133-1,313144-1,
414155-1,515166-1,
616177-1,717188-1,
818199-1
]
solidFALSE
creaseAngle0.875
}
}
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor0.30.30.3
ambientIntensity0.3
specularColor0.70.70.8
shininess0.1
}
}
geometryExtrusion{
crossSection[]
spine[
1.8-1.00.75,1.8-1.50.75,
0.6-1.50.75,0.6-1.5-0.75,
0.6-1.5-0.75,1.8-1.5-0.75,
1.8-1.0-0.75
]
scale[0.030.05]
}
}
截图:
实验三造型的空间变换以及编程技术应用
一、实验内容
1.熟悉Transform空间变换节点的运用
2.熟悉Group编组造型节点的运用
3.熟悉DEF、USE、Inline、Anchor、PROTO等节点的运用
二、实验环境
1.硬件环境
计算机一台
2.软件环境
VrmlPad编辑器和CortonaPlayer浏览器
三、实验步骤
1.利用Transform空间变换节点和Group编组节点来设计生成4个米字造型,多个造型之间从前到后依次排列。
首先,利用Group编组节点和DEF、USE素材调用方式生成一个米字型的造型;然后利用Transform空间变换节点中translation域的域值设定来改变不同的米字造型的前后位置关系,需要用到Group编组造型节点的嵌套。
2.利用PROTO原型节点,设计生成四个带刻度的钟表面,四个带刻度钟表面的位置、大小以及颜色均有不同。
首先,利用PROTO原型节点定义钟表面,同时将其定义的参数铜鼓IS关键字传给Transform空间变换节点的translation域、Material节点里面的diffusecolor域、box节点里面的size域来改变造型的空间位置、颜色和大小。
3、完成书中第四章的例4-5、4-6与4-7。
1)4-5
代码:
Group{
children[
Shape{
appearanceAppearance{
materialMaterial{}
textureImageTexture{
url"wood.jpg"
}
}
geometryBox{
size22.40.8
}
}
Transform{
translation000.4
children[
Shape{
appearanceAppearance{
materialMaterial{}
textureImageTexture{
url"bookcase.jpg"
}
}
geometryBox{
size22.40.01
}
}
]
}
]
}
截图:
2)4-6
代码:
Shape{
appearanceAppearance{
materialMaterial{}
textureMovieTexture{
url"steady.mpg"
loopTRUE
}
}
geometryBox{
size2.420.01
}
}
Sound{
sourceAudioClip{
url"steady.mpg"
loopTRUE
}
intensity1
maxFront16
maxBack16
minFront8
minBack8
}
3)4-7
代码:
NavigationInfo{
headlightFALSE
}
PointLight{
location050
intensity0.8
ambientIntensity0.5
onTRUE
}
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor100
}
}
geometrySphere{
radius0.9
}
}
Transform{
translation0-30
children[
Shape{
appearanceAppearance{
materialMaterial{}
}
geometryBox{
size80.026
}
}
]
}
Transform{
translation0-2.990
children[
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor000
transparency0.5
}
}
geometryCylinder{
height0.05
sideFALSE
bottomFALSE
}
}
]
}
截图:
实验四简单的虚拟现实环境场景设计(需交实验报告)
一.实验内容
1.理解VRML中虚拟现实场景中具有的一些要素
2.利用Background背景节点设置场景的背景
3.综合利用Transform空间变换节点、Shape空间造型节点、MovieTexture电影纹理节点以及Sound声音节点设计一个播放电影的平板电视造型效果
二、实验环境
1.硬件环境
计算机一台
2.软件环境
三、实验步骤:
1.创建一个简单的天空地面组合而成的背景。
通过设置Background背景节点里面的skyColor和skyAngle来设置天空的背景颜色渐变的效果,有蓝色逐渐转变成远处地平线位置的白色;同时设置BackGround背景节点里面的goundColor和groundAngle来设置地面背景颜色渐变的效果,由深褐色慢慢变到远处地平线位置的浅褐色。
2.在上题的基础上,增加全景背景的设计,显示一副高尔夫球场的背景。
利用Background背景节点里面的leftUrl、rightUrl、frontUrl、backUrl等域的设置,将全景空间背景的前、后、左、右4个面分解设置成4张图片,
3.制作一个平板电视的效果,要求不仅有图像效果,同时也有声音效果。
首先利用transform节点和Box节点构造一个平板电视的效果,然后利用MovieTexture电影纹理节点将一个电影文件作为纹理贴图贴于造型表面,再利用Sound声音节点制造与之对应的声音效果。
4、完成书中的练习。
1)
代码:
Background{
skyAngle[#设置天空角
1.21.57
]
skyColor[#设置天空角对应的颜色
001
00.50.8
111
]
groundAngle[#设置地面角
1.21.571
]
groundColor[#设置地面角对应的颜色
0.10.10.1
0.40.30.2
0.80.80.8
]
}
截图:
2)
代码:
Background{
skyAngle[#设置天空角
1.21.57
]
skyColor[#设置天空角对应的颜色
001
00.50.8
111
]
groundAngle[#设置地面角
1.21.571
]
groundColor[#设置地面角对应的颜色
0.10.10.1
0.40.30.2
0.80.80.8
]
frontUrl"GCA02.JPG"#设置前景图片
rightUrl"GCA04.JPG"#设置右景图片
leftUrl"GCA09.JPG"#设置左景图片
backUrl"GCA07.JPG"#设置后景图片
}
截图:
3)代码:
Background{
skyColor0.10.50.6
}
Transform{
translation00-0.1
children[
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor0.30.30.3
}
}
geometryBox{#电视造型
size5.13.40.2
}
}
]
}
Shape{
appearanceAppearance{
textureDEFhgdyMovieTexture{#电影纹理节点
url"xqdz1.MPG"#电影文件
loopTRUE
}
}
geometryBox{
size4.530.01#电影屏幕造型
}
}
Sound{#声音节点
sourceUSEhgdy#引用电影纹理节点
maxBack10
maxFront80
minBack5
minFront30
}
截图:
实验五造型的动画效果(需交实验报告)
一、实验内容
1.理解VRML中动画实现的基本原理
2.利用TimeSensor时间传感器节点和各种插补节点完成各种动画效果的制作
二、实验环境
1.硬件环境
计算机一台
2.软件环境
VrmlPad编辑器和CortonaPlayer浏览器
三、实验步骤
1.设计实现一个垂直于Z轴并绕Z轴旋转的十字架的造型,并且旋转地过程中十字架的两根金属棒分别进行不同的颜色变换。
首先利用transform节点构造两根金属棒的造型,然后设计一个TimeSensor时间传感器驱动整个动画的运行,设计两个OrientationInterpolator朝向插补节点分别控制造型的旋转,设计两个ColorInterpolator颜色插补节点分别控制造型的颜色变换。
1)代码:
DEFbar1Transform{#定义第一根棒坐标变换节点
children[
Shape{
appearanceAppearance{
materialDEFcbar1Material{
diffuseColor0.50.50.7
ambientIntensity0.4
specularColor0.80.80.9
shininess0.2
}
}
geometryCylinder{
height5
radius0.2
}
}
]
}
DEFbar2Transform{#定义第二根棒坐标变换节点
children[
Shape{
appearanceAppearance{
materialDEFcbar2Material{
diffuseColor0.80.80.9
ambientIntensity0.4
specularColor0.80.80.9
shininess0.2
}
}
geometryCylinder{
height5
radius0.2
}
}
]
}
DEFclockTimeSensor{#定义时间传感器节点
cycleInterval9
loopTRUE
}
DEFpath1OrientationInterpolator{#定义第一根棒的朝向插补器
key[00.51#时间关键点
]
keyValue[#朝向关键值
0010
0013.141
0016.281
]
}
DEFpath2OrientationInterpolator{#定义第二根棒的朝向插补器
key[00.51#时间关键点
]
keyValue[#朝向关键值
0011.571
0014.712
0017.851
]
}
DEFcpath1ColorInterpolator{#定义第一根棒的颜色插补器
key[00.51#时间关键点
]
keyValue[#颜色关键值
100
010
001
]
}
DEFcpath2ColorInterpolator{#定义第二根棒的颜色插补器
key[00.51#时间关键点
]
keyValue[#颜色关键值
0.80.60.2
0.60.40.9
0.10.80.4
]
}
ROUTEclock.fraction_changedTOpath1.set_fraction
ROUTEclock.fraction_changedTOpath2.set_fraction
ROUTEclock.fraction_changedTOcpath1.set_fraction
ROUTEclock.fraction_changedTOcpath2.set_fraction
ROUTEpath1.value_changedTObar1.rotation
ROUTEpath2.value_changedTObar2.rotation
ROUTEcpath1.value_changedTOcbar1.diffuseColor
ROUTEcpath2.value_changedTOcbar2.diffuseColor
截图:
实验六造型的交互功能(需交实验报告)
一、实验内容
1.理解VRML中交互实现的基本原理
2.利用TouchSensor、PlaneSensor、CylinderSensor等各种能够实现交互功能的传感器节点设计具有人机交互功能的动画效果
二、实验环境
1.硬件环境
计算机一台
2.软件环境
VrmlPad编辑器和CortonaPlayer浏览器
三、实验步骤
1.设计一个碰撞效果动画,假想在(0,0,3)的位置有一个长方体,当视点与其碰撞时,触发位于原点位置的一个球体进行一系列的移动。
将长方体设置为碰撞传感器节点的代体(proxy),而将真正要运动的球体作为Collision碰撞传感器节点的children子节点;设置一个TimeSensor节点和一个PositionInterpolator节点,用Collision节点去触发TimeSensor节点的运行,从而驱动PositionInterpolator节点来控制球体的运行轨迹。
1)代码:
Background{
skyColor0.60.21
}
DEFsensorCollision{
proxyTransform{#设置碰撞代体的位置和形状
translation003
children[
Shape{
appearanceAppearance{
materialMaterial{
}
}
geometry
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟现实 实验 报告