空间信息可视化与虚拟现实课程设计报告.docx
《空间信息可视化与虚拟现实课程设计报告.docx》由会员分享,可在线阅读,更多相关《空间信息可视化与虚拟现实课程设计报告.docx(17页珍藏版)》请在冰点文库上搜索。
空间信息可视化与虚拟现实课程设计报告
空间信息可视化与虚拟现实
上机实验报告
学院:
资源与土木工程学院
班级:
测绘工程班
学号:
姓名:
指导教师:
郭甲腾
2016年6月
成绩评定表
学生姓名:
_____学号:
_____专业班级:
测绘工程班
指导教师评语:
成绩:
指导教师:
年月日
目录
一、实验概况1
二、实验内容1
1.实验一1
2.实验二4
3.实验三7
4.实验四12
5.实验五13
三、实验总结14
一、实验概况
虚拟现实(VR)技术与Internet互联网、多媒体技术并称为21世纪的三大关键技术。
VR技术具有多感知、可视化、三维建模、沉浸性、交互性、想象性等特点,是集成了多学科、多技术的一门综合技术,不仅在军事、航空航天等尖端领域得到运用,而且在教育、医疗、工业仿真、游戏等领域的运用也十分广泛。
虚拟现实技术被认为是本世纪计算机领域最重要、最新奇的研究方向之一。
虚拟现实的三维建模功能可以在计算机中构建生动逼真的虚拟环境,人们可以通过使用一些具有传感的设备,非常方便、直观、自然的“进入”这个虚拟空间,沉浸其中交互遐想。
本课程介绍了虚拟现实建模语言VRML的基础知识以及应用实例,并系统介绍了虚拟现实编辑器VRP的应用与项目开发方法,这两款软件都具有鲜明的特色,提供了与其它三维建模软件(如3dsMax)的接口。
VRML的基本特征包括三维性、交互式、分布式集成性和逼真性,适用于在网络上创建逼真的三维场景。
VRML具有平台独立性、可扩展性、低宽带要求、实时图形渲染和基于事件的交互等特点,对于小型的场景,VRML的优点是非常明显的。
VRP则是一款直接面向项目开发的虚拟现实软件,它提供了与3dsMax、Maya或VRML的接口,可以方便地进行通信。
使用VRP可以制作出大型、精致、逼真的三维交互场景,可以将其它软件制作的三维模型导入,并且进行后期的编辑、加工和渲染,制作完成的作品可以直接形成exe文件,也能够通过IE插件发布到互联网上运行。
二、实验内容
1实验一VRML基本几何造型上机实验
在VRML中,任何一个VRML虚拟场景的空间造型都必须使用Shape(造型)节点,VRML设定了一些基本的几何造型节点,用来模拟真实的几何图形。
这些几何造型节点的灵活组合,能够构建出较为复杂的场景造型。
在现实生活中,诸如球体、圆柱体、长方体和圆锥体等基本的几何形状是现实世界场景的基本元素。
本章中主要学习VRML中几何造型的创建,这是VRML建模的基础,任何复杂的场景都不可能离开基本造型。
同时,在本章中还要学习文本造型的知识,这也是场景建造中必不可少的。
1.1圆柱体的建立
#VRMLV2.0utf8
#DRAWTHEcylinder
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor1.01.00
}
}
geometryCylinder{
bottomTRUE
sideTRUE
topFALSE
radius0.5
height3.0
}
}
1.2球体的建立
#VRMLV2.0utf8
#DRAWsphere
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor100
}
}
geometrySphere{
radius1.0
}
}
1.3立方体的建立
#VRMLV2.0utf8
#DRAWbox
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor011
}
}
geometryBox{
size5.03.04.0
}
}
1.4圆锥体的建立
#VRMLV2.0utf8
#DRAWcone
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor011
}
}
geometryCone{
bottomRadius10.0
height10.0
bottomTRUE
}
}
2实验二复杂造型和空间变换上机实验
2.1电风扇实例模型
#VRMLV2.0utf8
#DRAWcysphere
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor011
}
}
geometryCylinder{
radius1.0
height4.5
}
}
Shape{
appearanceAppearance{
materialMaterial{
diffuseColor100
}
}
geometrySphere{
radius2.0
}
}
2.2旋转实例
#VRMLV2.0utf8
Transform{
translation000
rotation1001.57
children[
DEFMyCylinderShape{
appearanceAppearance{
materialMaterial{
diffuseColor100}}
geometryCylinder{
radius0.5
height6
}
}
]
}
Transform{
translation-300
rotation0010.785
children[USEMyCylinder]
}
Transform{
translation300
rotation001-0.785
children[USEMyCylinder]
}
2.3缩放设置
#VRMLV2.0utf8
Transform{
translation000
children[
DEFMyBoxShape{
appearanceAppearance{
materialMaterial{
diffuseColor1.00.70.5}}
geometryBox{
size111}}
]}
Transform{
translation01.50
scale0.520.5
children[USEMyBox]
}
Transform{
translation0-0.750
scale20.52
children[USEMyBox]
}
3实验三造型外观设计、环境设计与视点控制上机实验
3.1电风扇造型外观设计
#VRMLV2.0utf8
#DRAWsurface
Transform{
translation000
children[
Shape{
appearanceAppearance{
materialDEFmymaterialMaterial{
diffuseColor011
specularColor0.390.390.39
ambientIntensity0.25
shininess0.11
}
}
geometryCylinder{
radius1.0
height0.3
}
}]
}
Transform{
translation00.40
children[
Shape{
appearanceAppearance{
materialUSEmymaterial
}
geometryCone{
bottomRadius0.5
height0.5
}
}]
}
Transform{
translation020
children[
Shape{
appearanceAppearance{
materialUSEmymaterial
}
geometryCylinder{
radius0.2
height4.0
}
}]
}
Transform{
rotation0100
children[
DEFypTransform{
translation400
rotation1000.15
children[
Shape{
appearanceAppearance{
materialUSEmymaterial
}
geometryBox{
size70.050.8
}
}
]
}
]
}
Transform{
rotation0102.09
children[
USEyp
]
}
Transform{
rotation010-2.09
children[
USEyp
]
}
3.2椅子模型的建立
#VRMLV2.0utf8
Group{
children[
Transform{
translation-0.200
children[
DEFbesideGroup{#chair.side
children[
Transform{
translation000
children[
Shape{
appearanceAppearance{
materialDEFChairColorMaterial{
diffuseColor10.50.1
}}
geometryCylinder{
radius0.02
height1.0
}
}
]
}
Transform{
translation0-0.20.2
rotation1001.57
children[
Shape{
appearanceAppearance{
materialUSEChairColor
}
geometryCylinder{
radius0.02
height0.4
}
}
]
}
Transform{
translation0-0.260.4
children[
Shape{
appearanceAppearance{
materialUSEChairColor
}
geometryCylinder{
radius0.02
height0.48
}
}
]
}
]
}
]
}
Transform{
translation0.200
children[
USEbeside]
}
Transform{
translation00.450
children[
DEFbaffleShape{#chair.back
appearanceAppearance{
materialUSEChairColor}
geometryBox{
size0.40.090.03}
}
]
}
Transform{
translation00.20
children[
USEbaffle]
}
Transform{
translation0-0.060
children[
USEbaffle]
}
Transform{
translation0-0.060.4
children[
USEbaffle]
}
Transform{
translation-0.2-0.060.2
rotation0101.57
children[
USEbaffle]
}
Transform{
translation0.2-0.060.2
rotation010-1.57
children[
USEbaffle]
}
Transform{
translation0-0.020.215
children[
Shape{
appearanceAppearance{
materialUSEChairColor}
geometryBox{
size0.450.020.43}
}
]
}
]
}
4实验四动画与交互上机实验
这里主要通过使用触发器,达到点击桌面上某一开关,使得屋顶的电风扇旋转或停止的目的,具体代码过长,不予粘贴。
5实验五脚本设计上机实验
这里通过设计相关的脚本,达到构筑“奇思妙想博物馆”的目的,脚本非常庞大,不予粘贴,具体代码实例截图在最终成果的下方。
三、实验总结
通过这几次实验,我们逐渐掌握了VRML语言的用法,在学习与成长中锻炼了自己的空间想象能力。
在实验中,学会了解决复杂的场景模型问题,复杂场景是由一些简单的几何模型构成,通过对模型的旋转平移和缩放达到组成复杂场景的目的,如果没有考虑好这些几何关系,会导致最终的模型出现错误。
所以在编写代码之前,需要考虑好几何模型之间的关系。
这几次实验也提升我了解决问题的能力,遇到问题时,先在互联网上查询是否有解决的方法。
没有的话再和同学老师讨论交流以便解决问题。
此外,学习VRML不仅仅是看书,更需要不断更改代码。
这几次实验也提高了我们对三维建模和虚拟现实的了解,为未来的深入学习和研究打下了基础。
这次的课程设计的内容对我来说还是有一定难度的。
首先就是编写程序的障碍。
因为自己对VRML语言并不是很熟悉,只会比较简单的语言,而且之前C#的课程设计只是编写一个小程序,并没有涉及数据库的调用。
此次实验,让我对我们的空间信息可视化与虚拟现实课程有了更深层次的了解,感谢老师在实习过程中的批评与指导,老师您辛苦了。