内容正文:
第四章 JavaScript应用
第3节 GeoGebra热区文本的建立与应用
GeoGebra在功能和应用上高于几何画板,但在处理文本中的关键字符与对应的几何对象建立关联并实现类似几何画板的热区文档功能还有欠缺。这在课件制作和教学应用中多少有一些遗憾!
用GeoGebra生成的文本是一个Text的整体,一般情况下不能对文本中的某个字符进行选定使之变为可操作(或编辑)状态。而几何画板的文本却可以在选定状态下方便地实现对单个字符的编辑,并且可以把几何对象的标签插入到文本中的特定位置,从而建立文本中的字符与几何对象的关联,在教学中单击文本中的字符,与其关联的对象产生明暗变化的闪光,这样就能学生快速找到文本中已知量在几何图形中的位置。这个功能特别在几何证明应用题的讲解中尤为重要,实现这个前提就是热区文本的生成。
GeoGebr能实现上述功能吗?运用GeoGebra的脚本(即单击,更新和全局)竟能峰回路转柳暗花明,同样可以生成热区文本和闪光功能,捍卫了GeoGebra在功能应用上全面超越几何画板本质特色。
一、GeoGebra热区文本的生成
方法一:点列法
步骤1:用工具栏中的文本工具或LaTeX生成一个文本对象,对象的名称为text1(在GeoGebra中text与列表类型相同)如图1
(
图
1
)
步骤2:用length(text1)计算字符的个数。如本例中a=21.
步骤3:构造一个4行6列的二维点列,如图2
图2
指令为
l1为列表的列表,所以还需扁平化
其中滑动条c为行字数(列数)调整,d=ceil(a/b)为文本行数。b为字符间距调整,v为热区文本的水平位置调整,h为竖直调整。
步骤4:构造一个按钮botton1,在其全局javascript脚本输入。
ggbApplet是GeoGebra与JavaScript相互调用的一个控件,然后在单击脚本中选取javascript模式,写入如下指令。
功能是把text1文本各个字符拆分依次粘贴到对应点列上,生成4行6列的热区文本如图3。
图3
此时热区文本所有的字符都处于可选定和编辑状态。
方法二:条件语句法
步骤1:编辑所需的文本text1. 计算字符个数a=length(text1).按钮botton1。
打开botton1属性 在全局JavaScript栏写入如下两条指令。
步骤2:在单击脚本指令栏中写入如下程序代码
第一条指令也可以不写。运行结果生成每行7个字符(7列)3行的热区文本,其原理是运用GeoGebra文本指令 text(文本,点)if....else条件语句实现换行,热区文本的第一个字符的位置点是(-15,6),大家可复制指令作为模板,指令具体含义其它应用不在详述。结果如下
图5
方法三:符号函数sgn法
其原理是利用符号函数实现换行,具体指令代码如下。
这里的b为文本的字符个数,具体运行如下图6
图6
综上所述:运用JavaScript脚本方法就是生成一个可交互、可编辑的文本,其它的功能就是GeoGebra指令或脚本方法了。
二、热区字符的应用—闪光效果
如上例方法3中的案例,题中的物体A(圆)、物体B(圆)、θ和2θ作为与图片中A球和B球对象互动关联。
步骤1:预设4个滑动条分别为a c d e 变化范围均为 0到1.5,增量为0.1,递增一次,速度为20。
步骤2:用GeoGebra的条件语句生成4个由0到1再到0的参数,分别用k_1、k_2、k_3、k_4表示。
步骤3:在A、B、θ和2(或θ)4个热区字符属性单击脚本依次写下如下指令
赋值(a,0) 赋值(c,0) 赋值(d,0 ) 赋值(e,0)
启动动画(a) 启动动画(c) 启动动画(d) 启动动画(e)
教学时点击其中的一个字符即可启动对应的参数变化一次。
步骤4:在a c d e属性更新脚本栏中写下如下指令以a为例其它类似。
g为A球的圆,代表红绿蓝的三个参数都为零,即原色为黑色,k_1为虚实,当点击热区字符时,k_1的值0-1-0变化一次,球A对应产生黑-白-黑一次闪光。上例方法二的闪光对象是一个多边形。
课件的这种表现方法目的是帮助学生读题和图示的对应关系,特别在多条辅助线的几何证明题中效果更为明显,小伙伴们试试吧!
学科网(北京)股份有限公司
$