查看原文
其他

geogebra进阶系列4:映射指令的神奇作用(巧妙提取多边形列表中的顶点)

刘护灵 geogebra与数学深度融合 2022-07-17

欢迎您点击文章上方蓝字,关注本公众号

一、简要说明

geogebra相比几何画板一个独特的地方:可以利用指令来和电脑交互,这样相当于人工智能,所以非常先进。

但是有些高手大神喜欢把指令嵌套很多层,虽然非常简洁的完成了一些工作,但是可读性比较差。

笔者建议嵌套指令不要超过三层,其它分步完成,可能更好,可读性更强,因为数学已经很难了,如果在难的数学上再加上难懂的ggb,那引起兴趣或推广的可能性就更低。我们学习ggb的目的之一本来就是辅助理解数学或物理,对吧。当然,能把ggb当成一个独立的学问进行研究也是可以的想法。


二、映射指令的基础知识

映射指令在唐老师的指令汇编中,做了如下一些简单的介绍。(当然能写成这样的指令汇编也非常不容易!)

Zip. 映射 (本案例的源文件在文尾可下载)

Zip( ( <Expression>,<Var1>,<List1>,<Var2>,<List2>,...) ) ;

映射( (< < 表达式 >,< 变量 1>,< 列 表1>,< 变量 2>,< 列表 2>,...) ) 。

生成一个新列表,其元素是:将指定列表中相应位置的元素依次作为变量代入表达式而取得的

结果。新列表的长度是输入的列表中最短的长度。

事实上,映射指令完全可以只使用单一集合作为参数。这使它在需要对一个集合中的元素进行逐个调用的时

候,相比序列指令更为简短便捷从而替代使用。

例如:“映射[a^2,a,数集]”就比“序列[元素[数集,a]^2,a,1,长度[数集]]”简捷得多。

这个案例什么意思呢?

即已有序列 产生的数集:序列(k + 1, k, 0, 10)


如果应用映射指令:映射(a², a, l1)

得到的结果为:

但如果利用序列:序列(元素(l1, a)², a, 1, 长度(l1))

得到的结果为:


两个指令的效果是一样的。

但是映射指令要简短一些!


提示:映射指令类似于其它编程语言中被称为“map”的概念。

又如:映射[n+m, n, {1, 2, 3}, m, {1, 2}],

结果是{2,4};

大家能看明白吗?1+1=2,2+2=4,3就不能参与运算了!

又如:设 P,Q,R,S 是一些点,映射[中点[A,B],A,{P,Q},B,{R,S}]

返回一个取线段 PR和 QS 中点的集合:{PR 的中点坐标,QS 的中点坐标}。

又如:设多项式的集合 list1={x^2,x^3,x^6},映射[次数[a],a,list1],返回集合{2,3,6}。

反思一:映射和函数是高中数学两个非常重要的概念。函数是特殊的映射,特殊在函数是数集到数集的映射。而映射的集合可以是非数集。所以映射的应用非常广泛。

反思二:映射指令的前提是对集合的元素进行提取,再进行表达式的计算,得到一个新的集合。

所以必须要建立原有的集合或列表,才能使用映射指令。

但序列指令或迭代列表指令则可以直接建立一个列表(或称为集合)。

下面列举1个案例。


三、经典案例:利用映射指令提取顶点。

题目:


问题:如何利用geogebra绘制上面的图形?众多高手提出了自己的绘图方式。

都很不错!

现在以大神孙生富老师的做法为例:

第一步创建整数滑条,范围1-30

第二步创建多边形列表:l1=序列(多边形((k, k), (-k, k), 4), k, 1, n, 1)

效果如下:


反思1:这个是利用序列+多边形的指令嵌套。多边形的第一个点为(k,k),第二个点为(-k,k),边数为4,k为序列的变量

,得到一系列的多边形集合。

在代数区显示的是这些多边形的数值!


现在问题来了,如何提取这些多边形的顶点,并且添加上标签A_?

如果直接使用顶点的指令是不行的!因为顶点的指令如下:

顶点( <圆锥曲线> )

顶点( <不等式> )

顶点( <多边形> )

顶点( <多边形>, <索引> )

顶点( <线段>, <索引> )

即:顶点的指令不能对列表产生作用!

怎么办呢?这是映射指令派上大用场了!

映射({顶点(p)}, p, l1)


注意:若使用指令:映射(顶点(p), p, l1)

得到的效果如下:

很奇怪的,不能得到多边形全部的顶点。

所以,这里的指令只能是:映射({顶点(p)}, p, l1),即加个花括号,把这些顶点做成一个集合。

但是如果下面直接利用序列+文本的指令给这些点命名,即:

序列(文本("A_" + ("{" + (k) + "}"), l5(k), true, true), k, 1, 长度(l5))

会出现如下的错误:


什么原因呢?因为映射({顶点(p)}, p, l1),得到的点是这样的:


他们是一个一个的多边形的顶点构成的独立的集合!

所以不能直接使用序列+文本的指令进行命名!

怎么办呢?这是需要把它们——合并!

合并的方法有两个,一个是直接使用“合并”的指令,一个是使用“扁平列表”的指令。

所以,第三步合并(l5),或扁平列表(l5)


两个指令在这里的效果相同。为什么呢?查查指令汇编:

(1)合并[< 集簇>],jion

将多个子集合(集簇)合并为一个较长的集合。例如:合并[{{1,2}}]新建集合{1,2}。新集合包含原有集合中的全部元素,新集合中的元素不会重新排序

如:合并[{{1,2,3},{3,4},{8,7}}]新建集合{1,2,3,3,4,8,7}。不会重新排序!

(2)Flatten. . 扁平列表

Flatten( ( <List>) ) ;扁平列表( (< < 列表> >) ) 。

将多个列表变为一个。

案例:“扁平列表({2,3,{5,1},{{2,1,{3}}}})”得出“list1={2,3,5,1,2,1,3}”,同样即不排序,也不管有没有重复的数值,即重复的数值也一一列出!

如果要对这些集合的元素排序,则可以使用“升序列表”或“逆序排列”的指令。

这里请查看指令汇编。

综合以上的分析,第三步:l2=扁平列表(映射({顶点(p)}, p, l1))

得到一系列下列的点:



这样,就把多边形列表中的顶点提出啦!

真是神奇啊!

第四步:序列(文本("A_" + ("{" + (k) + "}"), l2(k), true, true), k, 1, 长度(l2))

就可以对这些顶点批量命名啦。


但是直接利用这个序列+文本的指令,得到点的位置不要看。方法之一是利用自由点调整,参考:

geogebra进阶系列:文本进阶的两个实用技巧

但孙生富大神提出了另一个非常神奇的技巧:指令:

序列(文本("A_" + ("{" + (k) + "}"), l2(k) + a (1; 3π / 4) + (b; π / 2 (k - 1 / 2)), true, true), k, 1, 长度(l2))

利用两个滑条a,b来控制标签的位置,a,b的范围都是0-1,

亲测,它们都是0.5的时候,效果最好!



最后看看效果图:



最后文章的源文件可以在QQ群内下载,也可以关注本公众号之后,回复:

映射指令的神奇作用,即可下载!

说明:虽然笔者进行了多次修改,探索,分解,但是原创版权为孙生富老师,仅用于教学,切勿商用。



最近几期经典回顾


动态数学软件 GeoGebra 的发展历史和功能特点
ggb的文本指令学习系列1,(学习赵林老师)
◆ 利用geogebra突破立体几何教学难点
◆ geogebra之立体几何基础入门1:平面截正立方体的截面
◆ geogebra基础入门2:勾股定理的证明——弦图面积平移法
◆ geogebra基础入门3:一线三等角全等模型的制作
ggb绘制美丽的爱心曲线(心形线)
手拉手模型的两个最值问题(适合初二以上)
手拉手模型最值的进一步探讨
瓜豆原理系列1(轨迹?构造手拉手模型?)评析2020.1越秀区八年级上期末压轴题
角含半角好问题——旋转还是翻折?
利用geogebra理解平口单峰函数
geogebra提高1:Penrose阶梯:哪里是最高点?
geogebra基础入门4:利用路径值画出翻折的动画效果
geogebra基础入门5:脚拉脚全等模型的制作和应用(全等八大模型之八)
geogebra基础入门6:手拉手全等模型的制作和应用
◆ geogebra基础入门7:序列和迭代指令的简单应用
◆ geogebra基础入门8:条件显示和按钮脚本的简单应用(2019广州第25题)
◆ geogebra基础入门9:迭代的简单应用(毕氏螺线)
◆ geogebra基础入门10:迭代的简单应用和线段动点(毕氏螺线)
◆ geogebra基础入门11:利用瓜豆原理再探究一道四边形对角线最大值的简洁求法
◆ geogebra基础入门12:轨迹指令的初步应用(以矩形大法为例)
◆ geogebra基础入门13:瓜豆原理的制作和应用(2019贵阳中考)
◆ geogebra基础入门14:按钮和脚本增强课件的交互
geogebra基础入门15:证明勾股定理的内外弦图和旋转弦图
◆ geogebra基础入门16:动态文本和LaTeX的初步应用(祖冲之的圆周率)
◆ geogebra基础入门17:利用按钮脚本,批量改变字母的标签
◆ geogebra基础入门18:交点个数的处理技巧
 geogebra基础入门19:交点个数的处理技巧(续)(滑动条在特殊点处停止)
◆ geogebra基础入门20:避免利用斜率构造残缺轨迹的三个妙招(2016全国高考理科20题)
◆ geogebra基础入门21:等分圆周的方法(兰利问题和汤普森解法)
◆ geogebra基础入门22:序列、迭代、映射大比拼(2017南京高考一模)
geogebra基础入门23:理解指令的嵌套(正方体的堆积)
geogebra基础入门24:多页或分页显示
geogebra基础入门25:试卷中立体几何图形的绘制和美化
geogebra基础入门26:根式文本和分数文本的技巧
geogebra基础入门27:简单的涂色方法和涂色旋转
geogebra基础入门28:向量的初步使用(内心和奔驰定理)
geogebra基础入门29:表格的初步使用(创建、迭代)
geogebra进阶系列2:文本进阶(序列文本、公式文本等)
geogebra进阶系列3:自定义工具的创建、保存和使用
◆ 利用geogebra领悟解题系列1:隐形圆和相似的综合问题
◆ 利用geogebra领悟解题系列2:隐形圆和相似的综合问题2
◆ geogebra领悟解题系列3:阿基米德的折弦问题
 geogebra领悟解题系列4:手拉手模型等边三角形经典的11个结论
 geogebra领悟解题系列5:三角形的中线定理和应用
 geogebra领悟解题系列6:一道四边形角度计算的难题(构造等边或构造手拉手全等)
 geogebra领悟解题系列7:定弦定角+阿氏圆问题
geogebra领悟解题系列8:神奇的莫莱定理及其绘制技巧
geogebra领悟数学系列9:有趣的蒲丰投针问题
geogebra领悟数学系列10:形象生动的胡不归、阿氏圆模型讲解(兼谈latex字体)
geogebra领悟数学系列11:形象生动的勾股定理证明(兼谈如何学习他人的ggb文件)


更多文章请点击文章开头的蓝字“初中数学综合题的教与学”或下面的文章集:






初三及中考问题探究篇

1.  (胡不归模型)关联图形,探究本质——2019年中考数学素养导向的试题观察7——2019年重庆数学中考第26题

2. 几何问题代数化,发展模型思想——2019年中考数学素养导向的试题观察6——2019年温州数学中考第15题

3.读罗增儒教授的解题:2019年中考数学素养导向的试题观察5——2019年长沙数学中考第26题4.动静结合中交替演绎定性分析与定量刻画,2019年中考数学:素养导向的试题观察4——2019广东25题()5.2019年中考数学:素养导向的试题观察1——2019连云港16题6.2019年中考数学:素养导向的试题观察2——2019宿迁27题7.2019年中考数学:素养导向的试题观察3——2019南京16题(定弦定角)8.探寻解题过程,体会素养渗透——2019年中考数学素养导向的试题观察8——2019年成都数学中考第24题


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存