时间:2024-07-06
魏 利 戴佳佳 王小雅 黄慧敏
(南京师范大学 教育科学学院,江苏 南京 210097)
太阳系虚拟仿真教学系统的设计与开发
魏 利 戴佳佳 王小雅 黄慧敏
(南京师范大学 教育科学学院,江苏 南京 210097)
在传统的中小学科学课程教学中,教师常用文字图片、视频或实物来表示太阳系模型,而这些教学资源又往往在直观性、趣味性、交互性及灵活性等方面表现欠佳。为了改善上述教学资源的不足,本文研究开发了一个动态的太阳系虚拟仿真教学系统。该系统基于Windows开发平台,以Visual C++6.0为开发环境,以OpenGL为图形设备接口,实现了星体仿真、三维漫游、运动控制等功能,其较为明显的特点是简单、直观、可灵活使用及交互性良好。
太阳系;模型仿真;OpenGL
《国家中长期教育改革和发展规划纲要(2010—2020年)》中指出“加快教育信息化进程”的任务之一就是要“加强优质教育资源的开发与应用”[1]。因此在我国教育信息化发展进程中,数字教育资源不仅作为其发展产物,同时也作为其发展阶段的重要体现[2]。目前在教育资源建设中,具有漫游、演示及互动等功能的三维仿真现已成为第三代热点技术[3]。其教学效果较为乐观,杨程等人设计了基于虚拟现实的数据结构三维动态教学系统,实验数据表明三维仿真系统有趣直观,大大提高了学生对课程学习的积极性[4]。
太阳系相关知识是小学六年级科学课中的重要教学内容,但由于太阳系远离生活实际,想要采用直接观察的学习方式了解太阳系则有很大的困难。太阳系模型主流教学方式为二维多媒体(如图片、视频、动画、模型等)[5],其存在交互性差、趣味性低,以及难以直观形象展示等诸多不足。因此,本文中将三维仿真引入太阳系教学中,旨在构建仿真度更高的太阳系模型辅助学生学习。目前,三维仿真应用于教学中已成为常态,其中有值得借鉴和改进的地方。如耿维忠[6]等人提出的基于OpenGL的虚拟现实技术在教学场景中的开发框架为本文提供了参考,而孙明[7]提出基于3DS MAX和虚拟现实建模语言构建虚拟太阳系模型,但因3DS MAX上的材质无法通过wrl文件(虚拟现实文本格式文件)显示,材质出现问题,因此天体仿真度不高。张三川[8]提出基于OpenGL的三维动画课件的设计与制作,其注重技术实现,未满足教学知识完备性的需求。
趋于这种需求之下,本文设计并实现了一种在Windows平台下,基于OpenGL图形设备接口和Visual C++6.0开发环境,集虚拟现实与可视化辅助教学于一体的太阳系虚拟仿真教学系统,在内容上不只有仿真度高的太阳系模型,并且配以相应知识介绍,旨在促进学生学习,提高学习积极性,激发学生对科学和宇宙空间的向往及对学习科技知识的热情和学习兴趣。
太阳系即我们现在所处的恒星系统,是太阳和周围所有受到太阳引力约束的天体的集合体,这个集合体具体是由太阳、行星及其卫星与环系、小行星、彗星及其行星之间的介质组成。以中小学教学目标为基础,笔者团队在本系统中重点介绍太阳系模型中的主要成员:太阳和围绕太阳运转的八颗行星及冥王星。在实现模型之前,了解天体的相关规律,为获得更高质量的模型打下基础,进而帮助学生形成正确的模型概念。因此,本系统将行星按照质量、大小和结构特征分类为类地行星和类木行星。类地行星主要由铁元素组成,具有体积小、自转慢、密度大、卫星少等特点,类地行星即靠近太阳较近的四颗行星,它们是水星、金星、地球、火星。类木行星主要由氢、氦、氨等元素组成,与类地行星具有相反的特点:体积大、密度低、自转快、卫星多等。属于类木行星的有木星、土星、天王星、海王星。
冥王星属于矮行星,是一颗较为特殊的行星,比月球的体积小,与其他行星不同的是其轨道是高度倾斜的椭圆形轨道。冥王星在2006年被划分为矮行星类别时,已经在行星中被除名。但本文为帮助学生了解人类认识太阳系的历史过程,掌握天体规律,在本系统中将其与其他八大行星一同进行展示。
(一)太阳的性质与特点
太阳系是一个很庞大的系统,处于中心位置的太阳是太阳系中唯一的恒星和会发光的气体星体。科学研究表明,我们肉眼观察到的太阳为橙黄色。与我们所熟悉的地球相比,太阳的半径是地球的109倍,体积为其130万倍,它的质量占据整个太阳系天体质量的99.85%。以上关于太阳的性质与特点为绘制太阳模型提供了依据。
(二)天体基本数据
为保证仿真系统中模型的准确性,天体的基础数据须准确且可靠。如表1所示,通过查阅相关资料列出实现各大天体模型过程中需要的相关重要数据:天体半径、自转、公转及距太阳的距离[9]。表中半径数值即决定天体大小的关键数据;自转、公转决定天体转动速度;距太阳的距离决定了天体在模型中的位置。从表中数据可知离太阳最近的天体为水星,其余的金星、地球、火星、木星、土星、天王星、海王星及冥王星距离太阳越来越远。根据万有引力定律,随着距离的增加,天体所受引力逐渐减小,从表中的数据可以看出,从水星到冥王星公转周期不断增加,转速渐慢。除此之外,此表中数据表明冥王星为最小天体,木星为最大的行星,其余各大行星大小均不一致。了解以上太阳系中各大天体的重要规律,为实现系统模型奠定了基础。
表1 天体基本数据
由于表1中的真实数据较大,根据太阳系模型系统的实际需要,笔者团队在进行数据计算和系统设计的过程中,将实际数据根据一定比例缩小为模型数据。
(三)运转规律
宇宙探测中发现太阳系中除了冥王星,其他八大行星均带倾角在同一平面上绕太阳朝同一方向公转,并且除了金星和天王星,其余行星自转方向和公转方向一致。金星自转方向与公转方向相反,而天王星在轨道上横滚。太阳位于太阳系中心,自身也在进行着转动,恒星自转周期25.38天。行星和太阳的运转规律在太阳系模型仿真系统中均须加以体现。
(四)运转轨道计算
在太阳系中,环绕着太阳运动的天体均遵循开普勒定律,且轨道是以太阳为焦点的一个椭圆,因此在仿真系统中,根据椭圆的参数方程,,其中,a、b分别为长、短半轴的长度。在系统中计算行星轨道时,a、b均取为行星距焦点太阳的距离。
“太阳系”是教科版六年级下册科学中第三单元第五课的内容,其主要包括以下三个方面的重要教学内容:认识太阳系的主要天体;学习各大天体到太阳的距离及各个天体的大小;帮助学生建立太阳系模型,认识天体运动规律。通常来讲,学生学习完本课——“太阳系”需要达到的三维教学目标包括:通过课程的学习,掌握太阳系的组成及运动规律,初步培养学生的空间想象力(知识与技能方面);通过课程的学习和对太阳系模型的观察,学生可画出太阳系模型图纸(过程与方法方面);通过学生主动探究与观察,培养学生三维空间概念,激发学生探索宇宙奥秘的兴趣,让学生了解到人类及我国在航天事业中取得的成就(情感、态度和价值观方面)[10]。
(一)系统主要功能
以“太阳系”这一课的教学目标为依据,且结合教学实际,本文设计并进行了太阳系虚拟仿真教学系统的开发。在仿真系统中,将太阳系的构成、天体大小及其在太阳系中的位置等重点知识通过三维显示功能形象、具体地展示在系统中。系统内增加了场景切换功能以展示各个天体的性质与特点,确保知识明确、完善。同时为使学生对天体运动规律有直观的认识,系统实现了场景真实感及天体运动真实感。此外,在系统中设计并实现了漫游功能,学生通过人机交互“行走”在太阳系模型中近距离观察、认识天体,在学生积极动手、动脑自主探究的同时加深了对知识的理解。
(二)系统结构设计
1.结构分析
图1是太阳系虚拟仿真教学系统结构图,系统工作原理主要是通过程序内部控制机制响应用户界面需求,文中则主要通过人机交互、运动控制、图形绘制及场景切换对系统结构进行说明。
(1)人机交互
人机交互作为本系统的重要结构之一,从图1中可以看到借助人机交互与图形绘制共同实现了漫游场景。人机交互在内部模块中主要通过控制视点变换结合天体运动共同实现。
(2)运动控制
运动控制作为系统基础功能,通过模型变换控制天体位置、天体自转及公转速度以实现天体运动的效果。为增加系统的生动性及真实感,在每个场景中均表现出天体运动场景。
(3)图形绘制
图形绘制作为系统必不可少的功能之一,除了简单绘制天体模型,同时包括真实感处理,如纹理贴图、材质设置及光照模型等,提高了模型仿真质量。
(4)场景切换
场景切换主要指对知识场景、特写场景、全局场景、漫游场景等几大场景的切换及管理。场景效果均须借助人机交互、运动控制、图形绘制共同实现。知识场景由知识库做支撑,对单个转动的天体配以知识点介绍。特写场景主要帮助学生观察天体细节,理解、记忆天体特征。全局场景即对太阳系模型的概览,目的是让学生通过对全景的观察帮助其形成太阳系空间概念。
图1 太阳系虚拟仿真教学系统结构
2.应用程序接口(API)
应用程序接口是一组定义、程序及协议集合,通过API接口实现计算机软件之间的相互通信。目前主流API接口的有SGI开发的OpenGL和微软开发的DirectX。两者分别有各自的优势,OpenGL可跨平台使用,具有高度移植性并且是最为广泛使用的2D/3D图形 API。DirectX仅局限于Windows平台,常应用于游戏领域,除了具有图形API,另还有声音、输入、网络等API接口。本系统中仅用到图形API接口,同时需要考虑仿真系统跨平台后的适用性,因此本系统最终选择OpenGL图形库接口。
3.开发框架
以OpenGL为图形库API的太阳系教学仿真系统开发可在微软基础类库(MFC)或Win32SDK(Win32位平台下的软件开发包)上构建开发框架,但其开发细节较为烦琐复杂,无疑大大地增加了开发工作量,在本系统中,笔者团队采用GLUT(GLUT为OpenGL的应用工具包,是一个与窗口系统无关的软件包)构建仿真系统的开发框架。太阳系虚拟仿真教学系统开发框架如图2所示。具体为:首先初始化设置窗口显示模式、大小及位置,接下来根据OpenGL的状态机工作机制设置OpenGL的初始状态,然后根据需要注册回调函数,最后进入GLUT事件循环处理。
图2 太阳系虚拟仿真教学系统开发框架
(一)运动控制
太阳系中每个天体均进行自转,由于太阳引力,同时这些天体都沿同一方向以太阳为中心也在公转。因此天体运动形式多而复杂,且形象地展示天体运动状态对学生深刻掌握太阳系天体运动规律、加深空间概念有着重要意义。若是单个天体分别实现自转与公转运动,程序将非常冗余。为此,先将天体基本数据存入数组中,代码实现时在循环中利用相应函数调用数组中的数据即可。实现步骤如图3所示。
图3 运动控制实现步骤
将天体的半径、自转和公转周期、距离太阳的距离存入数组中,按以上运动控制实现步骤在gluSphere( )、glRotatef( )、glTranslatef( )函数中调用数组中的数据即可实现天体绘制及控制运动。
(二)真实感处理
真实感主要指场景中的对象有真实的视觉外观,其主要由对象纹理、场景光照和表面材质共同决定。因此,本系统中各天体的真实感处理将通过纹理映射与光照材质两方面实现。
纹理映射指将纹理贴图映射至对象表面,映射方式有多种,在本系统中采用材质纹理映射实现,其实现步骤如图4所示。
图4 纹理映射步骤
将载入的纹理通过glGenTextures( )、glBind-Texture( )函数分别命名纹理图像及创建纹理对象。通过glTexParameteri( )函数指定滤波方式设置纹理参数,本系统中该函数的参数相关设置采用GL_TEXTURE_MAG_FILTER放大滤镜,以及GL_LINEAR、GL_NEAREST这两种过滤方式。通过glTex-Image2D( )函数指定纹理图像的大小、类型、位置及其他属性设置纹理状态。最后调用glEnable(GL_TEXTURE_2D)和gluQuadricTexture( )函数开启纹理效果及纹理映射开关。
为使模型更逼真,还须设置光照材质。太阳是一个自发光的天体,而其他天体均不发光,为使模型更加真实,进行公转的天体必然有面光和背光之分,即对模型须进行光照处理。在技术实现中通过glMaterialfv( )函数设置材质属性实现太阳自发光,并通过函数glLightfv( )设置0号光源的环境光、漫反射光及光源位置。模型材质通过函数glLightModelfv( )设置。光照材质的设置步骤如图5所示。图6为经纹理映射及光照材质处理后的部分天体。
图5 光照材质设置步骤
图6 经纹理映射及光照材质处理后的天体
(三)三维漫游
三维漫游作为系统中的重要功能之一,它的实现须要对整个太阳系中的多个模型进行场景观察,在这个过程中同时须要利用键盘或鼠标对视角前后、左右进行控制。因此,系统中的太阳系模型漫游功能借助键盘交互,响应按键改变gluLookAt函数中参数,改变视点及视线方向产生三维效果。函数gluLookAt(s_eye_x,s_eye_y,s_eye_z,s_at_x,s_at_y,s_at_z,up_x,up_y,up_z)共9个参数生成视点位置E(s_eye_x,s_eye_y,s_eye_z)、视点参考点A(s_at_x,s_at_y,s_at_z)及向上方向U(up_x,up_y,up_z)的视觉坐标系。借助键盘响应函数,利用上、下、左、右键改变函数中的E、A坐标值,最后通过事件循环检测,不断更新视点,从而重新绘制场景,实现漫游效果。
(四)绘制加速
为满足学习者的视觉效果等多重体验感,三维漫游功能在人机交互场景生成时必须保证系统运行有足够的速度,对此笔者团队通过绘制加速技术对系统进行了优化。系统中主要三维图形为球体,绘制时重复率高,且绘制次数较多。因此,系统采用显示列表绘制天体及其运行轨道,将绘制代码写入glNewList与glEndlist中,需要绘制时通过glCallList调用。经绘制加速处理后,提高了系统运行时人机交互速度,满足场景绘制时的视觉效果。
根据教学目标及需求,本文设计并实现了太阳系模型教学仿真系统,经过测试运行效果良好,满足实际太阳系模型教学需要。
如图7所示即为系统运行首界面,左、右两边按键功能是为太阳系模型中各个天体提供详解,学习者学习时将仿真模型与文字解释性知识相结合,帮助其理解及记忆。以木星按键功能为例,其效果如图8所示。另外在文中也展示了系统漫游时的效果,如图9所示。
图7 太阳系运行图
图8 木星知识介绍
图9 漫游效果图
本文设计开发的太阳系虚拟仿真教学系统中的各个行星特征、运动规律的仿真效果真实,而且因为增加了人机交互漫游功能,学习者可动态、直观形象地观察天体运动及特征,学生空间想象力得到培养和锻炼,在动手、动脑自主探究的同时加深了对知识的理解。除此之外,本系统在教学中简单实用,可重复使用,系统功能也可扩展。
[1]教育部.国家中长期教育改革和发展规划纲要(2010—2020年)[EB/OL].(2010-07-29)[2017-07-20].http://www.moe.edu.cn/publicfiles/business/htmlfiles/moe/moe_838/201008/93704.html.
[2]陈伟玲,翁宁娟.对中小学数字教育资源应用现状与需求的调查分析[J].中国电化教育,2014,(3):76-80.
[3]孙爱娟.职教领域虚拟仿真教学资源建设与应用探析[J].中国电化教育,2012,(11):109-112.
[4]杨程,刘涛,范勇,等.基于虚拟现实的数据结构三维动态教学系统[J].实验技术与管理,2012,29(1):74-78.
[5]刘新阳.近年我国高校数字化教学资源建设与应用研究分析[J].电化教育研究,2012,(3):31-36.
[6]耿维忠,张彦芳.基于OpenGL的虚拟现实技术在教学场景开发中的应用[J].焦作师范高等专科学校学报,2009,25(1):73-74.
[7]孙明.基于3DS MAX和VRML的虚拟太阳系模型的构建与交互[DB/OL].(2015-12-01)[2017-07-18].http://kns.cnki.net/kns/brief/default_result.aspx.
[8]张三川.基于 OpenGL 的三维动画课件的设计与制作[J].陕西广播电视大学学报,2014,(2):31-35.
[9]百度百科.太阳系[EB/OL].(2017-08-20)[2017-09-15].https://baike.baidu.com.
[10]周志飞,王瑜,王美琦.网络·建模·思维:一种整合视角上的教学建构——《太阳系》一课的信息化教学设计[J].中国信息技术教育,2015,(4):14-16.
Design and Development of Virtual Simulation Teaching System for Solar System
WEI Li,DAI Jiajia,WANG Xiaoya,HUANG Huimin
(School of Education Science,Nanjing Normal University,Nanjing,Jiangsu,China 210097)
In the teaching of Science in traditional primary and secondary schools,the solar system model is usually demonstrated with using words,pictures,videos or real objects by teachers.However,these resources are not very well in teaching in terms of intuition,fun,interactivity and flexibility.In order to improve the shortcomings of the above teaching resources,this paper has developed a dynamic solar system simulation teaching system,which is based on Windows development platform.Besides,it takes Visual C++ 6.0 as the development environment,and OpenGL as the development of graphical device interface.The system achieved the functions of the star simulation,three-dimensional roaming,and motion control etc.Its prominent features are very good in terms of simplicity,intuition,and flexibility and interaction.
solar system;model simulation;OpenGL
G4
A
2096-0069(2017)05-0075-06
2017-08-15
江苏省社会科学基金项目“历史文化古迹高保真全自动数字化平台建设研究”(15TQB005)
魏利(1994— ),女,四川绵阳人,硕士研究生,研究方向为教育技术、计算机图形学;戴佳佳(1993— ),女,安徽芜湖人,硕士研究生,研究方向为教育技术、计算机图形学;王小雅(1993— ),女,安徽铜陵人,硕士研究生,研究方向为教育技术、人脸建模;黄慧敏(1993— ),女,广东珠海人,硕士研究生,研究方向为教育技术、三维重建。
(责任编辑 孙志莉)
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!