动态演示画数轴-数轴的动态

先来看下画数轴的动态演示:

动态演示画数轴-数轴的动态

用方向键盘控制
或者启动动画:
动态演示画数轴-数轴的动态

在标出“1”后,动画速度变快
可以看到是逐一显示直线、原点(并标出0)、正方向;接着,从原点向右,每隔一个单位长度取一点,并标出数值;从原点向左,每隔一个单位长度取一点 , 并标出数值 。
制作思路:
  1. “直线、原点、正方向”可逐一做出,而标记正方向可用向量(Vector)
  2. 具有规律的线段、数字文本都可分别用一条指令搞定 , 其显示问题,就是让不同列表的元素交替出现 。
此作品可以学到:
  • 不同列表的元素交替出现的解决方法 。
  • 怎么改变滑动条的速度 。
关于不同列表的元素交替出现的解决方法 , 之前,主要是利用表格区来完成 。
动态演示画数轴-数轴的动态

用如果指令来分类
在一图看懂怎么在数轴上画出表示根号n的点中,也有用其他方式来处理:
动态演示画数轴-数轴的动态

修改增量、原列表
这次是借画数轴来分享一种新的方法——受河北李建军老师启发,利用映射(Zip)、余式(Mod)、提?。═ake)等指令来解决 。
动态演示画数轴-数轴的动态

动态演示画数轴-数轴的动态

动态演示画数轴-数轴的动态

“直线、原点、正方向”

指令如下:
动态演示画数轴-数轴的动态

注:滑动条(Slider)、线段(Segment)
这里需要注意的是:线段f的显示条件为1 ≤ n ≤ 3,是为了当n≥4时 , 显示向量(“正方向”),而原有线段则隐藏 。
动态演示画数轴-数轴的动态



动态演示画数轴-数轴的动态

“取点并标出数值”

下面将感受到使用映射的方便快捷!
映射( <表达式>, <变量1>, <列表1>, <变量2>, <列表2>, ... )
即变量1依次取列表1中的元素代入表达式,变量2(如有)依次取列表2(如有)中的元素代入表达式,……最终生成一个列表 。
由于所作对象的规律性 , 可想到用序列(Sequence)或映射来构造:
动态演示画数轴-数轴的动态

注:扁平列表(Flatten)、文本(Text)
效果如下 , l2为多条小线段 , l3为相应的数字文本:
动态演示画数轴-数轴的动态

基础对象做出来了!那么,如何逐一显示l2的第一个元素、l3的第一个元素、l2的第二个元素、l3的第二个元素……
这就是不同列表的元素交替出现问题!
  • 按照逐一出现的顺序 , 将其放在同一列表里 。
  • 这里有2个列表,也就是依次放置第1个列表的第一个元素、第2个列表的第一个元素、第1个列表的第二个元素、第2个列表的第二个元素、……由此得到一个新列表!
  • 这个新列表中,除以2的余数是1的元素都是原本第1个列表的元素;除以2的余数是0的元素即原本第2个列表的元素 。
  • 所以 , 可以按照余数的不同来提取这个新列表的元素!
即:
动态演示画数轴-数轴的动态

【动态演示画数轴-数轴的动态】效果见下图:
动态演示画数轴-数轴的动态



动态演示画数轴-数轴的动态

滑动条的速度变化

为了让滑动条启动动画时,演示效果更好——希望当显示单位长度后,也就是n>6时,动画速度变快些 。
于是可在滑动条的速度框中输入:
如果(n > 6, 2, 0.5)
动态演示画数轴-数轴的动态

当n>6 , 速度为2,否则为0.5
于是,就有开头演示的效果 。

结语

不同列表的元素交替出现要义【假设有m个列表】:
  • 按照逐一出现的顺序,将其放在同一列表里——映射、扁平列表 。
  • 按照除以m的余数的不同来提取这个新列表的元素——余式、提取、序列 。
滑动条的速度需要不同——让滑动条的速度不是一个固定值即可 。


如需源文件,请回复:数轴

相关经验推荐