资源描述
本科毕业论文(设计)模板
本科学年论文(设计)
论文题目: 面向仿真应用的虚拟现实技术
学生姓名: 李 婷
学 号: 0905170323
专 业: 计算机科学与技术
班 级: 计本0903
指导教师: 马 君
完成日期: 2011年 9 月 10日
附件2:学年论文成绩表
学年论文成绩表
学生姓名
李婷
班 级
计本0903
学 号
0905170323
二级学院
信息学院
专业
计算机科学与技术
论文题目
面向仿真应用的虚拟现实技术
成绩
指
导
教
师
评
语
指导教师签名:
年 月 日
系
意
见
签字(盖章):
年 月 日
二级
学院
意见
签字(盖章):
年 月 日
目 录
摘要 2
Abstract 3
引 言 4
一、何谓虚拟仿真 4
二.基于Web的虚拟现实仿真实验室设计 5
1. 设计构想 5
2. 设计实现 6
(1)三维建模的实现 6
(2)交互界面的实现 6
(3)附加信息反馈的实现和作用 9
3. 设计应用 10
三.结论 12
参考文献 13
基于Web 的虚拟现实仿真实验室设计
摘要
本文从虚拟现实与系统仿真各自的概念,特点等出发,阐述了系统仿真和虚拟现实的联系和区别,同时重点阐述了基于Web的虚拟现实现实仿真的技术实现方法和表现手段,在此基础上并实现了一个基于Web的虚拟实验室设计。
关键词:系统仿真,虚拟现实,虚拟现实仿真,Java,交互
Design of Virtual Reality Simulation Lab based on Web
Abstract
Based on the concepts and characteristics of the Virtual Reality and the System Simulation, the relationship and differences between them were discussed. The technical realization methods and expression ways of the Virtual Reality Simulation were emphasized, which realized the design of the Virtual Lab based on Web.
Key words:virtual reality;system simulation;virtual reality simulation;java;interaction
引 言
随着各门学科的发展,虚拟现实击仿真技术得到了很大的发展,已成为近年来十分活跃的新兴技术,在航空航天,军事,科学研究,工业生产,交通运输,环境保护,生态平衡,卫生医疗,经济规划,商业经营,金融流通等领域已经得到成功的应用,并取得显著的经济效益。
虚拟现实和系统仿真既有区别又有内在联系,两者之间存在交集。这个交集所构成的“虚拟仿真”在内容,理论和方法上都有新的特点和亮点,它综合了虚拟现实与系统仿真各自的
优点和长处,已经成为国内外的热点研究领域,具有十分广泛的实用价值与应用前景。
一、何谓虚拟仿真
虚拟现实(Virtual Reality,VR),也称为灵境,是一种可以创建和体验虚拟世界的计算机系统,可以形成一种“人能沉浸其中,进出自如,超越其上,实时交互的多维信息空间”。VR技术利用计算机生成的交互式三维环境,向操作者提供视觉,听觉和触觉,味觉和嗅觉等感知功能,使他们能够在这个虚拟环境中观察,聆听,触摸,漫游,闻赏,并与虚拟环境中实体进行交互,从而使操作者亲身体验沉浸在虚拟空间中的感受,一个虚拟现实系统应具有最本质的三个特征,即三个“I”:沉浸性(Immersion),交互性(Interaction),想象性(Imagination)。
系统仿真是以系统理论为基础,以计算机为工具,对具有不确定性因素的现实系统或未来系统进行动态实验研究的理论和方法。系统仿真是通过对所研究系统的认识和了解,抽取其中基本要素的关键参数,建立与现实系统相对应的仿真模型,经过模型的确认和仿真程序的验证,在仿真实验设计基础上,对该模型进行仿真实验,以模拟系统的运行过程,观察系统状态变量随时间变化的动态规律性,并通过数据采集和统计分析,得到被仿真系统参数的统计特性,据此判断和估计系统的真实参数和性能测度,为决策提供辅助依据。
虚拟现实仿真是一门以系统科学、计算机科学和概率论与数理统计学为基础,结合各应用领域的技术特点和应用中的需要,逐渐发展起来的边缘性技术,同时它也是一门试验性科学,随着各门学科的发展,虚拟现实仿真也得到日新月异的发展,已成为近年来十分活跃的新兴技术。从理论上讲,虚拟现实仿真就是把VR 技术与仿真结合起来,但是这种结合可不是简单地相加,而应是融合了两种类型系统特点的有机体。所设计的虚拟现实仿真系统应能自主地运行,用户能在逼真的三维虚拟世界中自由漫游,自由交互,实时地得到场景反馈信息,这些信息应包括用户当前在场景所处的位置、视角方向,场景中实物的简单介绍以及
用户操作时的注意事项和提示信息等;所设计的虚拟现实仿真系统应能根据用户的需求暂停或恢复仿真过程,系统应能根据用户不同的操作秩序、参与程度给予智能的评价,同时
记录用户的操作信息以及相关的系统数据和结果资料等;所设计的虚拟现实仿真系统应能人为地加快时间进度,从而在较短的时间内得到系统未来状态,供决策参考,系统应具备友好地数据输入手段,能够进行控制参数地优化,能够存储和公布结果,所得到的仿真结果是代表一定实际意义范围内一定样本量的随机样本。用户、虚拟仿真系统以及后台数据层之间的关系。
虚拟仿真实际上是一种可创建和体验虚拟世界(Virtual World)的计算机系统。此种虚拟世界由计算机生成,可以是现实世界的再现,亦可以是构想中的世界,用户可借助视觉、听觉及触觉等多种传感通道与虚拟世界进行自然的交互。它是以仿真的方式给用户创造一个实时反映实体对象变化与相互作用的三维虚拟世界,并通过头盔显示器(HMD)、数据手套等辅助传感设备,提供用户一个观测与该虚拟世界交互的三维界面,使用户可直接参与并探索仿真对象在所处环境中的作用与变化,产生沉浸感。VR技术是计算机技术、计算机图形学、计算机视觉、视觉生理学、视觉心理学、仿真技术、微电子技术、多媒体技术、信息技术、立体显示技术、传感与测量技术、软件工程、语音识别与合成技术、人机接口技术、网络技术及人工智能技术等多种高新技术集成之结晶。其逼真性和实时交互性为系统仿真技术提供有力的支撑。
二.基于Web的虚拟现实仿真实验室设计
1. 设计构想
该设计构想是基于Web,采用虚拟现实及仿真技术设计的一个虚拟现实仿真实验虚拟现实仿真实验室将完成以下几个方面的功能:
(1) 虚拟现实仿真实验室将模拟实验室场景,完成虚拟场景的三维建模和各个仪器的建模,赋予材质和贴图。
(2) 虚拟现实仿真实验室提供一个友好的交互界面,包括浏览器相关信息、场景浏览模式的选择、曲线面版、虚拟场景的描述及反馈信息。
(3) 虚拟现实仿真实验室后台提供数据层,数据层将动态控制虚拟场景的变换以及数据的输出,将用户的输入数据和仿真的随机数据纳入数学模型,完成仿真数据的演算和处理,同时动态生成数据曲线和图表,通过辅助信息反馈界面表现出来如图1。
图1 用户,虚拟仿真系统和后台数据层的关系
2. 设计实现
在 PC 机上通过3D MAX 三维软件建立虚拟场景和仪器的虚拟模型,把VRML、Javascript、Java、Java Applet 以及网页技术有机的融合在一起,实现虚拟场景、
交互界面和后台数据库的三者协同工作,这是设计实现的技术路线。
(1)三维建模的实现
根据真实实验室的具体场景,我们采用3D MAX 建模,对实验室建筑场景采用足尺单面建模,对实验室仪器设备采用足尺实体模型,根据VRML 编程的需要,适当按名称分组建立各模型、并赋予相应的贴图材质。由于场景中各个不同仪器设备、场景实物的不同属性功能要求,我们在后续的交互编程中应合理采用建模的方式,如模型中心点位置将影响到交互编程中的旋转(OrientationInterpolator 插补器)和移动(PositionInterpolator 插补器)问题,模型的细节(使用IndexedFaceSet)修改对未来虚拟场景的优化问题,以及模型重用(使用USE)和模型外部调用(使用Inline)等问题;在材质贴图方面,如果场景的中的物体是通过贴图方式来完成各个部分的材质区分,我们可以采用Multi/Sub-Object 材质方式通过ID 号的区分完成对各个局部的贴图,并加以UVWMapping 修改器,实验室局部场景仪器如图2。
图2 虚拟仿真实验室的部分仪器设备
(2)交互界面的实现
在三维模型建立的基础上,我们对这个虚拟场景进行交互编程。交互编程主要分为两个方面:
<1> 虚拟场景中建筑物附属设施以及虚拟实验仪器的基本属性交互编程,比如场景中的门、窗,能在用户的推动下打开或关闭,并能无障碍地通过这些通风采光设施或透过这些设施看到屏障外的虚拟场景;场景中的虚拟仪器能被用户随意挪动、拿起或放下,甚至场景中的仪器应具有万有引力这一基本属性。这些都通过VRML 中的Script 通VRMLScript、Javascript 和Java 辅助实现。例如变形技术包括:与物体表示有关的变形,与物体表示无关的变形,基于约束的变形,轴变形。两个三维图像之间的渐变,与物体的拓扑结构有密切联系。要实现仿真的场景时,需要算出几种反射的不同角度值和强度。
.漫反射:
漫反射项,
其中: 光源强度, 漫反射系数,θ入射光与法线交角。
一般有三个表达式分别对应红、绿、兰三种光线。
.镜面反射:
这时,入射角θ=反射角θ,观察角φ。
镜面反射项
其中: 镜面反射系数(取决于颜色),g光滑系数。
.完全反射:
它包括三部分:环境光强 反射,漫反射 ,镜面反射
其中: 环境光强度, 环境反射系数。
下图表示,计算反射的示意图。
Light Source 光源 Observer 观察者
<2> 用户在虚拟场景中的交互行为将受到计算机的实时监控。计算机监控用户的操作,并给出正确的提示和引导信息。监控方法一,主要是将虚拟场景直接和 Web 页面通过Javascript 通讯完成。具体实现如下:将网页中嵌入的虚拟场景(网页中的ID 号或name 为VRScene)通过VRScene.Engine. Nodes(“scriptname”)遍历(scriptname 为虚拟场景中的Script 节点名称),原Script 节点已中设立多字段字符型的域(命名为MultStringName)用于接受场景中传入的字符,由于场景的交互变化激发该Script 节点中的EventIn_1 事件发生,EventIn_1 事件立即产生新的EventOut_1 传出事件,该EventOut_1 传出事件主要是以多字段字符型传出,由Script中的MultStringName 接收,而在网页用于监控的是
VRScene.Engine.Nodes( “scriptname” ).Fields(“MultStringName”).
Advise(“ObserveMessage_1”,“ ”)
其函数定义如下:
function ObserveMessage_1(txt)
{
document.all.elementname.innerHTML=txt.Value(0);
}
于是虚拟场景中的交互信息就在网页中elementname处表现出来,如图3 所示:
document.all.elementname.innerHTML=VRScene.Engine.Nodes(”scriptname”).Fields(”MultStringName”)
图3 VRML与Web通过Javascript通讯
监控方法二,是将虚拟场景和Java Applet 嵌入同一个网页,用Java Applet 来监控虚拟场景,虚拟场景的变化将直接受到Java Applet 的控制,由Java Applet 编程产生的数据或提示信息字符直接输出在网页中嵌入该Java Applet 页面位置上。Java Applet 通过Browser.getNode(“”)访问到虚拟场景中的Script 节点名称,然后对其进行事件监听EventOutObserver,将监听到的虚拟场景中的变化在Java Applet 中通过Java 容器setText 或setLabel 表现出来,如图4 所示。由于Java 版本的不断升级,考虑到与VRML 中EAI 包[4]的兼容性问题,我们采用的是JDK1.3.1_09 版本的Java 编译器,采用Java中的AWT 编程,部分代码如下:
import java.applet.Applet;
import java.awt.*;
import vrml.external.*;
import vrml.external.field.EventOutObserver;
⋯⋯
public class EAIApplet extends Applet implements EventOutOberver
{
⋯⋯
public void init()
{
browser = Browser.getBrowser(this);
}
public void callback(EventOut event,double timestamp,Object data)
{⋯⋯}
⋯⋯}
图4 VRML与Web通过Java Applet通讯
(3)附加信息反馈的实现和作用
由于 Java 的AWT 技术在功能上远远超过网页技术中Javascript 对图形的控制,而且采用Java 技术可实现对数据库的操作。附加信息反馈的主要实现的功能就是要对实验后的数据进行处理,将数据用动态曲线图生成的方式表现,并将数据写入数据库,保存为历史资料,可供日后参考、修正。在附加信息反馈模块中,我们主要采用Java Applet 技术,对后台数据层的编程,我们从以下几个方面来详述。
首先,我们把用户在交互界面输入的数据作为初始的已知参数,根据相关实验的数学模型(如土工试验中的三轴试验,我们选用了有名的剑桥模型;渗透试验我们采用的太沙基的二维固结理论模型等),采用Java 对其编程,实现未知参数的数据计算,将其存储到数组中,为后续工作做好准备。
其次,数据动态曲线图的生成将是客户端主要交互界面。我们采用JavaApplet
中的AWT,利用其双缓冲技术实现曲线的动态生成,避免产生闪烁和停滞的效果。核心代码如下:
public void update(Graphics g)
{
paint(g);
}
public void paint(Graphics g)
{⋯⋯;
}
最后,数据动态曲线图(如图5)完成的同时,程序自动将实验数据按照已知和未知参数以及关键的控制参数等总个数,写入数据。在这个过程中,我们使用数据库,比如Microsoft 公司的Access 数据库,采用JDBC-ODBC 桥技术,连接数据库,对数据库进行增、删、查等操作,部分代码如下:
try{
class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
con=DriverManager.getConnection(“jdbc:odbc:myDB”);
Statement stmt=con.createStatement();
stmt.executeUpdate(“Insert ⋯⋯”);
stmt.executeUpdate(“Delete ⋯⋯”);
stmt.executeQuery(“⋯⋯”);
}
图5 Java Applet动态曲线图
3.设计应用
它给用户提供的信息有:物体表面几何形状、表面纹理、滑动等。
力反馈它给用户提供的信息有:总的接触力、表面柔顺、物体重量等
场景复杂性是指显示的场景中有多少三角形(或多边形)。显示的场景中有更多的三角形(或多边形),显示的效果就更逼真。这就要求更强的计算能力,每秒计算更多的三角形(或多边形)。
三维扫描仪(3 Dimensional Scanner)又称为三维数字化仪(3 Dimensional Digitizer)。它是当前使用的对实际物体三维建模的重要工具。它能快速方便的将真实世界的立体彩色信息转换为计算机能直接处理的数字信号,为实物数字化提供了有效的手段。
计算机控制的声音合成的一种方法是附加合成。在这种方法中,是用短时间富里衰方法叠加简单的正弦波,产生合成声音(或仪器谱线)。
基于计算机视觉原理提出了多种三维信息获取原理。这包括单目视觉法,立体视觉法,从轮廓恢复形状法,从运动恢复形状法,结构光法,编码光法等。其中的结构光法,编码光法成为目前多数三维扫描设备的基础。这些方法可以分为被动式和主动式两大类。被动式法的代表是立体视觉法。主动式法的代表是结构光法,编码光法。
虚拟演播室的原理是:有真实摄像机拍摄的前景图像,与在真实摄像机拍摄参数控制下的虚拟摄像机产生的虚拟背景图像,在色度键控制器中实时地进行色键合成,形成一幅完整的彩色图像。如图6和图7所示。
图6 虚拟的厨房
图7 虚拟桥梁不同的景观
三.结论
本文从虚拟现实仿真技术的角度,在PC 机及互联网技术普遍应用和完善的形势下,提出并实现了一个虚拟现实仿真实验室设计。旨在推广和进一步研究虚拟现实仿真系统,促进各个科研成果的发展,促进各个学科的融合,开拓计算机技术在国民经济各个领域的广泛应用。在该设计中,我们还要很多问题并没有完全解决,比如三维场景在网络传输下的速度及效果问题,网页中Java Applet 与Applet 之间的线程同步问题以及通讯问题、Microsoft VM 和Java VM对Applet 的影响问题等,但我们相信,随着新一代网络技术的推广及应用,各个网络编程技术的日益完善以及我们研究工作的进一步深入,网络瓶颈问题将迎刃而解,未来的网络将朝着三维方向发展。
传统仿真技术中,一个仿真系统要首先建立起系统的数学模型--一次仿真模型,然后再改写成适合计算机处理的形式-仿真模型。仿真模型可以说是系统二次近似模型。建立起仿真模型后,才能书写相应的程序。仿真基本上是一种通过实验来求解的技术。通过仿真实验要了解系统中各变量之间的关系,要观察系统模型变量变化的全过程,此外,为了对仿真模型进行深入研究和结果优化,还必须进行多次运行,系统优化等工作,因此,良好的人机交互性是系统仿真的一个重要特性。
事实证明,人类对于图像、声音等感官信息的理解能力远远大于数字和文字等抽象信息的理解能力。将仿真技术与虚拟现实技术相结合,利用虚拟现实技术进行仿真模型的建立和实验的模拟,使仿真的过程和结果可以实现图象化、可视化,使仿真的系统具有了三维、实时交互、属性提取等特征,极大地促进了仿真技术的发展,同时也使虚拟现实技术更加具有生命力。虚拟现实技术虚拟现实技术是二十世纪末才兴起的一门崭新的综合性信息技术,是由计算机硬件、软件以及各种传感器构成的三维信息的人工环境--虚拟环境,用户投入这种环境中,就可与之交互作用、相互影响。它融合了数字图像处理、计算机图形学、多媒体技术、传感器技术等多个信息技术分支,从而也大大推进了计算机技术的发展。
参考文献
(1) 汪成为、高文、王行仁.灵境(虚拟现实)技术的理论、实现及其应用.清华大学出版社,1997
(2) 袁耀明.从可视化到视算一体化.系统仿真学报,1996
(3) 张丛哲、张跃.计算机辅助设计(CAD)中虚拟现实技术.计算机世界,1998
(4) 黄柯隶.系统仿真技术,国防科技大学出版社,1998
(5) 肖昭然,王 凯.基于Web 的虚拟现实仿真实验室设计
(河南工业大学土木建筑学院, 河南郑州 450052)
(6) 第18 卷第6 期 系统 仿 真 学 报© Vol. 18 No. 6
2006 年6 月Journal of System Simulation Jun., 2006
(7) Gagarin′s Spaceflight. [EB/OL]. (2004-12)[2005-04]
(8) Goldberg DE. Genetic algorithms in search, optimization and machine learning [M]. Addison-Wesley, Reading, MA, 1989.
(9) 张茂军 虚拟现实系统[M]. 北京:科学出版社,2001.
(10)韦有双,杨湘龙,王飞,等 虚拟现实与系统仿真[M].
北京:国防工业出版社,2004
(11)陆昌辉,周正平,等 使用VRML与JAVA创建网络虚拟环境[M].
北京:北京大学出版社,2003
展开阅读全文