论文部分内容阅读
伴随着计算机技术的高速发展,虚拟现实技术得到了越来越广泛的应用。传统物理实验室投资规模大而且受到了时间和空间的限制,采用虚拟现实技术的虚拟物理实验室能够减少资金投入,打破时间空间限制和排除干扰因素,从而起到提高教学效果的作用。近几年来,互联网技术的发展非常迅速,许多单机版的应用程序逐渐被网络版应用程序所取代。基于B/S结构的应用在某些方面比基于C/S结构的应用具有更大的优势,越来越多的网络应用将会采用B/S结构,虚拟物理实验室系统就是在这种背景下产生的。
虚拟物理实验室系统在设计和开发过程中采用分层体系结构,遵循开放性原则,安全性原则,实用性原则,可伸缩性原则,高可靠性原则和易操作性原则。虚拟物理实验室系统采用J2EE的技术路线,支持符合J2EE规范的所有服务器,支持当今所有的主流的数据库。
介绍了虚拟物理实验室系统持久化层的设计。持久化层采用对象-关系映射框架Hibernate,实现对持久化对象的保存、更新、删除和查询等功能。系统支持多种形式的检索方式,包括导航对象图检索方式、对象标识符检索方式、HQL检索方式、QBC检索方式以及本地SQL检索方式。系统提供对二级缓存和Query缓存的支持,提供立即检索、延迟检索、迫切左外连接检索、批量延迟检索和批量立即检索功能。详细讲述了Hibernate的创建过程,并利用了Spring的模板来管理持久化层。提出了优化数据库访问性能的措施,包括利用检索策略优化数据库访问性能、配置二级缓存、管理Session缓存和使用Ouery缓存。
介绍了虚拟物理实验室系统业务逻辑层的设计。在业务逻辑层采用Spring容器管理系统中的所有对象,利用Spring的控制反转实现系统的松耦合。介绍了Spring容器中Bean的生命周期以及Bean的范围。介绍了Spring面向方面编程的原理以及如何运用面向方面编程来管理Hibernate事务。在业务逻辑层提供了系统对外开放的接口并提出了控制系统开放接口安全性的方法。
介绍了虚拟物理实验室系统表述层的设计。表述层采用优秀的开源MVC框架Struts2。详细讲述了Struts2的创建过程,Struts2的Action、拦截器以及result的配置,并利用Struts2的拦截器实现了系统的安全性及权限控制,采用全局result实现result的共享。介绍了Struts2视图的设计,包括标签库的使用和OGNL表达式的应用。介绍了使用Spring容器管理Struts2对象的方法。介绍了在Struts2中使用Ajax的方法以及Ajax常用的数据格式JSON和XML。为了保证数据的完整性,研究了使用MathML,显示物理公式的方法。
介绍了基于Web3D虚拟实验平台的设计。首先阐述了物理实验的意义及物理实验的三个环节。介绍了基于Web3D的虚拟现实的特征,利用X3D搭建虚拟物理实验室平台的方法,利用Java3D搭建虚拟物理实验室平台的方法,利用O3D搭建虚拟物理实验室平台的方法以及利用Flash3D搭建虚拟物理实验室平台的方法。介绍了利用Papervison3D虚拟物理实验室的详细过程。包括Papervision3D中的主要对象的使用,如何利用3DS MAX为Papervision3D建模以及利用ActionScript控制模型动画及交互行为。