欢迎来到学术参考网

基于SCILAB与Tcl/Tk构建中学几何教学的方式分析

发布时间:2015-11-11 09:31

 引言
  在中学几何特别是解析几何教学中,各种曲线、曲面的概念都离不开图形。通过曲线或曲面各种参数的动态变化来考查学生的题目经常出现在高考的压轴题中。教师在课堂上讲解这类知识时,基本上都是采用传统的书本讲授、用黑板进行图形展示的方法,很难将各种曲线与曲面的变化具体生动地表现出来,而如果要在黑板上绘制这些图形又会费时费力,教学效果不理想,也不利于学生空间想像能力的培养。[1]
  一、开发平台所用的软件
  SCILAB是开源的计算机软件,可以解决中学的解析几何教学过程中所有的计算问题,而且SCILAB是一个开放的编程环境,具备与多种编程语言的编程接口(C,C++,Tcl/TK)。[2] 本文正是使用Tcl/TK构建出很好的用户交互界面,用户可以很容易地对所要作的图形的参数进行静态与动态调整。软件运用于Ubuntu Linux系统上,完全合法且免费。
  简介
  SCILAB 是由法国国家信息、自动化研究院(INRIA)的科学家们开发的“开放源码”软件。SCILAB 一词来源于英文 “Scientific Laboratory”(科学实验室)词头的合并。
  与MATLAB类似,SCILAB也是一种科学工程计算软件,其数据类型丰富,可以很方便地实现各种矩阵运算与图形显示,能应用于科学计算、数学建模、信号处理、决策优化、线性/非线性控制等。它还提供可以满足不同工程与科学需要的平台,例如SCICOS、信号处理平台、图与网络平台等。可以说,就基本的功能如科学计算、矩阵处理及图形显示而言,MATLAB能完成的工作SCILAB都可以实现。
  目前,SCILAB除了WINDOWS与NT版本外,还有UNIX或LINUX下的版本。
  作为开放源码的软件,SCILAB的源代码、用户手册及二进制的可执行文件都是免费的,公布于INRIA的网站上(中法实验室已建立其镜像网站),可以直接下载。用户不仅可以在SCILAB的许可证条件下自由使用该软件,还可以根据需要修改源代码,使之更加符合自身需要。[2]
  TK简介
  Tcl(Tool Command Language)是一种脚本语言,是基于字符串的命令语言,同时也是一种解释语言,不需要编译和连接,由John Ousterhout创建,具有开发周期短,效率高等特点。因此Tcl经常被用于快速原型开发、脚本编程、GUI和测试等方面。Tk是Tcl的一个扩展套件,它提供了各种OS平台下的图形用户界面GUI。
  如果从下载已经编译好的软件包,则SCILAB已经内装了Tcl/TK,就不需要安装Tcl/TK了。
  二、构建中学几何演示平台的三个主要步骤
  1.平台主界面
  平台主界面如图1所示,主要是选择绘制图形的类型与主要参数的设置。
  主界面下半部分为两个列表,分别显示立体几何与平面解析几何两个大类,两个大类再细分成所要作图形的类型。当双击选择了某一类型后,主界面的说明文档部分则会显示用户所选择类型的具体操作步骤,以及在操作过程中需要注意的一些地方。当用户阅读完说明文档后,点选Apply 按钮,即可进入到参数选择与赋值界面。
  主界面还提供有一个菜单栏,用户可以通过对菜单栏的操作,依据各人的喜好,修改一些参数,如字体、按钮的类型以及一些参考范例。
  2.参数选择与交互界面(图2)
  此界面由两个子类组成,一个是滑块,另一个是赋值输入框。图2中a与b的值通过滑块或者输入框都可以进行调整,且是同步的。当所要求的值是确定的,就由输入框直接输入,如果是动态的则由滑块调节。因为滑块有最大值与最小值的区间限制,可以通过点击图2的Option按钮,弹出图3所示的设置界面,这样就可以对a与b的最大值与最小值进行设置了。通过调节滑块,可以动态的调整参数,使得参数与SCIALB进了通信,从而达到动态调整图形的目的。
  3.构建几何图形SCILAB函数库
  对于中学出现过的几何函数,用SCILAB软件分别对其建模,每个演示图形以一个可以独立运行的脚本文件存放,后缀名为.sci,并统一存放在同一个文件夹下,方便Tcl/Tk调用。调用时,可以使用“SCILABEval +所调用脚本的文件名”语句来实现。[4]
  三、案例
  以考试中常考查的直线、圆与椭圆的相互位置关系为例进行说明。
  首先点选主界面列表框里的“直线,圆与椭圆”选项,教学平台会调用SCILAB脚本执行:
  TCL_SetVar("r","1");TCL_SetVar("b","0");
  TCL_SetVar("a","0");       //对圆的参数初如化
  label1=['椭圆横坐标:';'椭圆纵坐标:';'参数a:';'参数b';];
  B=x_mdialog(['请输入相对应的值';],label1,['0';'0';'4';'2']);
xx=evstr(B(1));yy=evstr(B(2));
  aa=evstr(B(3));bb=evstr(B(4));    //取得椭圆参数
  label2=['斜率K:';'截距b:';]
  C=x_mdialog(['请输入相应值';],label2,['-0.5';'1']);   //获取直线参数
  k=evstr(C(1));b1=evstr(C(2));       //取得直线参数,并将其数值化
  TCL_EvalFile("")            //打开交互界面,对圆进行操作
  exec(""); //调用几何图形SCILAB函数库相对应的脚本
  此时,SCILAB就会执行:
  function []=circle_oval_line()     //设定函数名
  global("a","b","r");   //定义全局变量
  xset('pixmap',1)                  //开启pixmp,从而使画面不闪烁
  r_new=evstr(TCL_GetVar("r"));
  a_new=evstr(TCL_GetVar("a"));
  b_new=evstr(TCL_GetVar("b"));
  //从tcl脚本中取得相应值
  if  {a<>a_new | b<>b_new | r<>r_new}
  //判断值是否改变 then
  a=a_new;b=b_new;r=r_new;
  //值有改变,则取代新值
  clf();                                    //清除图像
  t=0:0.01:2*%pi;      //确定取值范围
  x=r*cos(t)+a;y=r*sin(t)+b;   //绘制圆的参数方程
  xx=aa*cos(t)+xx;yy=bb*sin(t)+yy;
   //绘制椭圆的参数方程
  plot2d(xx,yy,rect=[-10,-10,10,10],axesflag=5);
  plot2d(x,y,rect=[-10,-10,10,10],axesflag=5);
  //做出圆与椭圆
  x1=-10:0.1:10;
  plot2d(x1,k*x1+b1,rect=[-10,-10,10,10],axesflag=5); //做出直线
  xset('wshow'); xset('wwpc');   //设定图形参数
  xset('pixmap',0)    //关闭pixmp
  endfunction错误!未定义书签。
  至此,函数function(circle_oval_line)被加载到内存上。
  之后,交互界面与函数function(circle_oval_line)数据相互连通,通过对交互界面的调节,很快可以得出最终的图形,如图4。
  从交互界面可以知道此圆心的坐标大致为(0.4,0.5)。
  结束语
  SCILAB具有开放、自由和共享的特点,为素质教育的学生提供了很好的平台去思考与创新。从此平台的实际使用情况看,该平台是中学几何特别是解析几何教学的一个有效的教学工具。解析几何抽像的图形公式可以生动形象地展示出来,激发了学生的学习兴趣。SCILAB语言不同于其它语言,其具有简单易学的特点,将SCILAB运行于LINUX系统中,通过鼓励学生自己尝试编写相关的图形函数,培养学生的创新能力和使用正版软件和尊重知识产权的意识。
  参考文献:
  [1]王凤蕊,王文宏,程桂芳,基于SCILAB构建中学几何教学演示系统[J].中国教育信息化基础教育),2007(4).
  [2] SCILAB主页.
  [3] John hout,&Ken Jones著,张元章译.Tcl/Tk入门经典[M].北京:清华大学出社,2007.
  [4]n L, Chancelier Jean-Philippe, Nikoukhah Ramine著,秦世引等译.Scilab/Scicos在建模与仿真
  中的应用[M].北京:北京邮电大学出版社,2007.

上一篇:现代信息技术对教师专业发展的影响探讨

下一篇:TPACK视阈下信息技术教学论教学的方法创新