通用实验教学仿真平台的设计与实现

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:hofox
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:由于各种实验条件限制,传统实验教学环节中学生对知识的理解和掌握存在各种困难。本文论述了一种通用三维实验教学仿真平台的设计与实现,其具有良好的通用性与可扩展性,并使用OpenGL对实验现象进行三维模拟仿真,通过本系统可以提高学生的实践动手能力,促进其对知识的理解。
  关键词:实验教学;通用平台;三维仿真
  中图分类号:TP391.9
  众所周知,传统的实验教学是教师先讲述基本理论,演示实验基本步骤,然后学生根据实验指导手册,到实验室进行操作演示,深入理解相关知识点。但是这样的教学活动过程会造成各种各样的问题:首先实验内容一般抽象性都很强,这通常不利于教师阐述其内部原理,同样也不利于学生对原理快速深入理解;学生仅仅通过在课堂上听老手讲述实验过程,是不能在短时间内对其理解并吸收,也就根本谈不上熟悉实验的流程。因此学生往往是在不熟悉实验流程的情况下就冒然进入实验室进行真实的实验,这不仅使得学生的学习效率不高,同时还造成了实验器材、药品等的不必要的损耗、浪费。还必须指出的是,有些实验本身是具有一定危险性的,学生不熟悉实验规范、流程就进行实验,很可能会对学生的人生安全造成一定的伤害。同时实验教学会受到很多条件因素的限制,比如实验器材数量有限,多位学生可能会共享器材;环境因素的影响不能开展该项实验教学,如演示太阳系运动。
  利用计算机仿真技术进行实验现象模拟,能够很好的诠释实验现象基本原理,在很大程度上提高教师授课效率,以及学生的学习效果,同时熟悉实验流程。现今市面已经有些Flash或二维图形实验仿真软件,但它们对实验的表现力,用户的交互性等都非常有限,难以满足广大师生的需求。传统教学中实验种类以及数量
  本系统设计目标是它不仅适用于教师、学生等普通用户,同时也面向参与实验模块开发的其它人员,具有强大繁多,这些实验演示系统多是一个实验一个系统,没有对其进行综合集成,这给系统维护管理带来了很大的困难。基于以上现状,系统采用三维仿真技术模拟、再现各种实验及自然现象,提高用户的真实体验和操作性;采用可扩展模式结构,解决实验种类及数量繁多给管理及扩展带来的不便。
  1 系统分析
  OpenGL是现今使用较广泛的一个性能卓越的三维图形标准,它独立于硬件设备、窗口系统和操作系统,提供了功能强大,调用方便的底层3D图形库。系统采用OpenGL来实现各种实验的三维表现,用户可以轻松通过操纵键盘、鼠标来改变观察视角,从三维多角度观察实验演示过程;操作各种实验器材。的二次开发和可扩展性。普通用户根据自身需求购买主体及必须的功能模块,亦可随时购买其它功能模块,并能便捷的加入到现有系统中,从而通过使用本系统完成教学或学习任务;其它开发人员可以根据客户对实验的要求,按照实验模块的接口要求和公共基础功能模块快速开发新实验或维护已有实验功能,并编写配置脚本,即可交付给用户动态加载使用。
  根据以上要求,系统基本结构设计为如图1所示。系统由主体控制框架制定基本的接口标准,实验模块开发人员可以在不对主框架有任何了解,做任何修改的情况下,按已有接口标准开发出新的实验模块,而主控制框架也能很好支持每个实验模块操作演示等功能,
  系统框架为开发人员提供的接口标准应具有即统一又灵活的特点,系统采用读写配置脚本方式进行实现。开发人员完成实验模块后,编写配置脚本,主框架通过该脚本了解模块的具体接口方法,并写入自己的配置文件实现动态调用,这样就实现了主体控制框架和实验模块的逻辑分离,相关开发人员只需要关注自己所负责模块的内部详细设计。
  2 系统实现
  系统由主体框架、实验模块、公共模块三部分组成,实验模块和公共基础模块都是以动态库的形式存在。系统框架主要负责和用户进行操作交互,实验内容的三维展示、管理及控制;每个实验模块之间没有任何联系,具体实现由其开发者自己决定,只要求提供满足标准框架接口的调用。
  2.1 系统主框架设计
  系统主框架是该仿真平台的核心部分,采用MFC单文档结构和第三方界面库设计,其主要功能是为OpenGL配置一个能在Windows系统平台运行的环境,并且通过制定的接口标准链接并控制相应的实验功能模块,对加载的功能模块进行动态管理,该框架的核心类结构如图2所示。
  COpenGL类配置OpenGL在windows系统中的运行环境,其唯一对象m_opengl在CPhyLibView类中实例化。CPhyLibView类在CMainFrame类中,主要用途是实时显示当前功能模块所展现的三维实验仿真场景,渲染的场景数据信息来自于各实验模块。
  CWorkSpcaeBar、CWorkSpcaeBar2类分别在主框架CMainFrame类中被实例化,它们是浮动并停靠在主框架内的两个子框架,用来装载具体功能模块中的实验参数配置窗口、实验说明及结果窗口。
  CLibrary_Linker类是框架中重要的模块,它是实验模块和框架之间的功能连接器,制定了二者通信的标准接口。它通过读取的配置文件了解实验模块的相关内容、函数接口等信息,帮助框架其它模块链接相应的功能,调用其中的函数接口,从而实现对功能模块的各种操作。为判断当前链接库与正要链接的库是否重复,类中为每个实验模块提供计数字段用于区别,以此减少对相同库的链接、释放操作,提高程序的执行效率。
  为了使主框架能够对功能模块进行控制,就必须读入模块的相应信息,这一点可以通过结构体Menu来完成。Menu结构体主要以链表形式动态管理功能模块相关信息,并同步写入硬盘,更新框架界面。Menu结构体中的数据全都通过读入每个功能模块的配置脚本,内容主要包括主函数名、库名等,并动态生成的功能操作选项菜单,菜单ID号,调用规则等信息,在主框架中显示供用户操作使用。
  2.2 实验模块设计   系统中每个实验模块相对独立,允许用户通过界面动态地加载和卸除,其结构如图3所示。实验模块核心必须包括以下功能模块:
  参数配置部分,其主要作用在于允许用户动态配置实验所需数据,实验的计算结果及三维模拟效果都将受到参数的影响,从而使实验结果呈现多样性。
  实验说明及计算,该部分的用途在于对正在进行的实验原理知识点作出说明,并描述实验操作步骤要点;依据实验理论数据和输入参数,动态地计算出实验结果。
  虚拟实验渲染显示,该功能是三维实验仿真最终的目标,即通过使用OpenGL对实验整个过程进行三维仿真,形象的显示各种情况下的实验效果。
  编写配置脚本,用户针对每个实验编写相关的配置脚本用于描述功能模块的关键信息,如功能模块名称、主要函数名、菜单中显示的内容等等。主框架链接接口通过配置脚本内容,实现对功能模块的调用。
  2.3 公用基础模块
  公用基础模块是平台提供的公共功能,主要涉及到摄像机管理、向量计算,粒子系统,实验器材的拾取、拖动、组合,场景操作管理等模块,这些公共模块是多数三维模拟仿真都需要的基础功能,二次开发人员根据需要选择使用它们,以提高开发效率。
  2.4 主框架与实验功能模块关联流程
  在选择某个具体实验后,主框架会根据Menu结构体中的信息与相应功能模块相连接,这主要包括三方面的内容。主框架中的视图客户区设备上下文与实验模块中的三维模拟部分进行绑定。
  参数配置框架与实验结果说明框架载入功能模块中的参数配置部分与实验说明、结果计算、显示部分。
  动态实验菜单与功能连接模块由实验模块中的主框架连接接口中读入接口信息,之后即可根据此信息生成实验菜单或是对其进行管理,效果如图4所示。
  3 结束语
  本文主要论述了一种通用三维实验仿真平台设计与实现。该系统通过主框架内部加载不同的实验功能模块,根据用户的动态配置参数,形象再现了各种实验、自然现象,并计算出相应情况下的实验结果,使得用户像身临其境一样完成各类实验,而不受任何条件因素的限制。目前系统已经实现了大部分中学物理、化学、地理实验功能模块,取得了较好的应用效果。
  参考文献:
  [1]Richard S.Wright,Jr.Benjamin Lipchak.OpenGL SuperBile[M](4th Edition).北京:人民邮电出版社,2010(9).
  [2]徐明亮,卢红星,王琬.OpenGL游戏编程[M].机械工业出版社,2008(1).
  [3]Fletcher Dunn,Lan Parberry.3D数学基础:图形与游戏开发[M].清华大学出版社,2008(5).
  [4]Sartaj Sahni. Data Structures Algorithms and Appl- icati ons in C++[M].机械工业出版社,2000(1).
  [5]程杰.大话设计模式[M].清华大学出版,2007(12).
  作者单位:江西师范大学软件学院,南昌 330022
其他文献
摘要:21世纪是信息大爆炸的时代,计算机在世界范围内得到了普及,各式各样的软件也随之而生。丰富的软件给人们的生活发生了翻天覆地的变化,但是计算软件存在的安全漏洞问题又给人们的生活带来诸多不便,甚至造成财产损失。本文针对计算机软件存在的安全漏洞问题展开讨论,分析漏洞产生原因并提出相应的防范方法。  关键词:计算机软件;安全漏洞;防范方法  中图分类号:TP309文献标识码:A文章编号:1007-95
在分析我国城市垃圾管理现状的基础上,提出要从根本上解决城市垃圾问题,就应根据可持续发展的原则,进行集成化的城市垃圾供应链管理.并对城市垃圾的流通环节与物流循环系统进
<正>~~
期刊
当网络组建完成后,虽然已经可以正常通信,但不能确定网络的通信性能。为清楚了解网络性能,需使用网络性能测试工具,本文将主要介绍网络性能的监视工具NPM的主要性能及使用方法。
针对传统的多媒体发布系统的种种劣势,提出一种基于嵌入式Linux的内容分发系统。介绍了这种系统的终端架构及文件分发策略并详细阐述了终端软件在线升级技术。
因他率领的第四十军在抗美援朝中首战大捷,被彭德怀誉为"打响了志愿军入朝作战第一枪",毛泽东主席闻讯也欣然将这一天--1950年10月25日,定为志愿军出国纪念日。 他就是开国
中共中央中原局于1948年5月26日进驻伏牛山东麓(平顶山)地区的宝丰县赵官营村后,7月1日就以中原野战军分社、华东新闻大队和新华总社派来的电务人员为基础成立了新华社中原总分
从大文化的视角,对百年来景德镇地方文化的发展状况作一个宏观而粗略的回顾,并且提出了一些观点,意在引起更多的人对这一问题的关注和研讨.
指出通用软件在行业中的弱点及行业软件的开发前景.
分析了21世纪社会经济发展对高等教育的挑战,阐述了城市建设事业发展对人才素质的要求;以知识与能力的一统一为核心,对构建新的人才培养模式进行了探讨。