周美华,黄 芳,邰雪花
(1.安徽省马鞍山市第二十二中学;2.安徽省马鞍山市红星中学 安徽马鞍山 243000)
微课件是近年来教育领域的热门话题。简单说,微课件就是能够集中说明某一问题的微小视频课件。[1]
化学是一门充满趣味性的学科,但在应试教育大环境下,学生不愿意花时间和精力去学习,相比其它学科,本课程在新课程改革过程中遇到的问题要更多一点。因此,本课程教学方式的转变势在必行,微课件教学就是当前较为盛行的、能有效提高教学效能的教学手段。而虚拟实验室是近年来开始流行的辅助实验环境,在微课件中引入虚拟实验会丰富微课件的制作手段,尤其适合那些在实验室无法开展的实验演示。[2]、[3]
OpenGL(全称Open Graphics Library)是SGI公司开发的用于设计二维或三维图像的底层图形库,非常适合用于开发具有交互功能的虚拟实验和辅助教学系统[4]。基于OpenGL技术制作的微课件不仅可以更好地展示教学内容,而且可以让学习者通过虚拟实验参与其中,从而大大提高微课件的教学效果[5]。为此,现以炼铁高炉工艺过程三维动态演示为例,研究基于OpenGL的交互式微课件设计。
氧化还原反应炼铁,工业上是通过高炉冶炼来实现的。高炉炼铁是钢铁生产中的重要环节。炼铁高炉本体结构自顶向下一般由炉喉、炉身、炉腰、炉腹 、炉缸和炉底6部分组成,由钢板构成的炉壳内用耐火砖作为内衬。高炉生产时,从炉顶装入燃料和催化剂(含铁矿石、焦炭、造渣用熔剂等),经预热的空气从炉底的热风口吹入。在高温下焦炭等辅助燃料中的碳燃烧生成一氧化碳和氢气,在炉内上升过程中通过还原反应除去铁矿石中的氧,从而得到铁。铁矿石中未还原的杂质生成炉渣,从渣口排出。产生的煤气从炉顶导出,经除尘后,作为热风炉等其它加热器的燃料。炼出的铁水从铁口放出,进入铸造环节。高炉在使用过程中无法对其内部的运行情况有一个系统的了解。通过绘制炼铁高炉的整体模型,并设计模仿高炉工艺过程的三维动态演示系统,使学生对高炉炼铁工艺过程有一个感性认识,同是也为高炉设计、监测高炉运行情况和科学生产起到指导作用。
本系统涉及炉体部件如下:煤气管道直径、炉顶(料罐、料仓、喉管、溜槽、炉口和零料线)、高炉炉型(炉型、炉身、炉腰、炉腹、炉缸、死铁层)、炉衬、炉壳、风口、铁口、高炉基础(炉底、基墩)和高炉冷却壁。
系统以Visual C++6.0为开发环境,通过导入GLAUX.lib、GLU32.lib和OpenGLG32.lib三个库文件来支持基于OpenGL图形交互界面的开发,并在“stdafx.h”文件中添加包含三个OpenGL的头文件gl.h、glu.h和glaux.h。
系统功能导航设计。为了便于人机交互,系统功能通过位于窗口左侧的导航栏进行选择,如图1左侧所示。实际操作时,单击导航栏对应名称,三维图中将闪烁显示这个部件,以此形象展示高炉结构。这个树形导航栏需要微软基础类库(Microsoft Foundation Classes, MFC)的支持,重点用到CtreeView、CimageList和HTREEITEM三个类。其中,CtreeView为基类,CimageList用于定义存放导航栏的图像列表对象,以控制树中每个分支的图标。HTREEITEM类对象用于控制每个分支的文本。具体用法如下:
图1 软件导航栏
class CMyTreeView : public CTreeView
{
protected:
CMyTreeView();
DECLARE_DYNCREATE(CMyTreeView)
public:
CImageList m_list;
HTREEITEM m_ModelTreeItem;
……
}
高炉三维整体图和剖面图设计。高炉三维整体示意如图2所示。也可以通过图3所示交互窗体自主选择显示或隐藏组件,若想观察炉腔内部,可通过菜单选择剖面图,如图4所示。这里重点介绍一下所用到的OpenGL技术。
图2 高炉三维整体图
图3 模型组合操作界面
图4 高炉三维剖面图
①对于所有的OpenGL应用程序,都需要在每个文件中包含gl.h 、glu.h和glaux.h两个头文件。
②新建的工程要添加三个库文件“GLAUX.LIB”“GLU32.LIB”和“OpenGL32.LIB”,这三个库文件一般在“C:Program FilesMicrosoft Visual StudioVC98Lib”路径下。
③GDI是通过设备描述表(Device Context,DC)来绘图,而OpenGL是通过渲染描述表(Rendering Context, RC),因此需按以下步骤配置环境:
改写OnPreCreate函数并给视图类添加成员函数和成员变量,定义窗口的像素格式,像素格式决定窗口着所显示的图形在内存中是如何表示的,由像素格式控制的参数包括:颜色深度、缓冲模式和所支持的绘画接口。
相关部件参数化窗体设计。如果对高炉某一部件参数不满意,可通过如图5和图6所示窗体进行参数修改,对高炉各个部件进行不同参数设置后,效果图随之按新的参数进行调整并显示。本系统允许修改的参数有高炉名称、煤气管道半径、料罐和料仓参数、炉身和炉腹参数、炉口参数、零料线参数、炉衬参数、炉壳参数、喉管参数、溜槽参数、风口参数、冷却壁参数等。这些窗体可以通过相应的菜单来启动。
图5 料罐参数设置界面
图6 料仓参数设置界面
图7 工艺过程动态演示图
工艺动态过程演示设计。系统可以在剖面图中演示从燃料进仓、冶炼和出铁水的动态过程,如图7所示。通过软件工具栏或菜单栏“开始/继续”命令,即可启动/停止工艺过程动态过程演示。
本案例的设计过程表明,基于OpenGL技术可以方便地实现化学学科中一些不便于展示的实验环节,同时学生在观看微课件时,可以通过交互式观察和设置来参与学习,起到了停顿思考的作用,避免了只能被动接收的过程,从而更加有效地理解教学内容。基于OpenGL的交互式微课件设计是一种有效地教学辅助方法。