先来看一下作品的效果:
效果不错吧!
那就一起动手制作吧!
作出矩形、正方形可以先作出相关的点,再用多边形(polygon)指令,这是一种思路。
然而,这么多个多边形,都要先作出相关的点,再作相应的多边形也不容易!
那么,还可以怎么解决呢?
我们先看黄色矩形部分,假设已有q1,则
q2 = 位似( q1, 1 / 2, (1, 1) )
q3 = 位似( q2, 1 / 2, (1, 1) )
具体的,可参照下图来理解:
位似(Dilate)指令:
位似( <几何对象>, <位似比>, <位似中心> )
由此,可以写出相关指令:
即:
来看一下迭代列表(IterationList)指令:
迭代列表( <表达式>, <变量>, <起始值>, <次数> )
这里,对l1稍作解释,l2同理:
不过,我们需要的是逐一显示这些矩形、正方形。而且,显示顺序为:矩形、正方形、矩形、正方形……
矩形、正方形的逐一显示我们用滑动条n来控制逐一显示:
n = 滑动条(0,11,0.001)
【n的范围与增量为什么要这么设定?看完本文即可知其缘由。】
先看需要呈现的效果:
于是,可利用表格区来实现:
其中,元素(element)指令:
元素( <列表>, <元素位置> )
至于操作请见下图:
请自行选中B列,设置为黄色;选中C列,设置为蓝色
那么,红色圈中的文本如何显示出来呢?
可以用设置标题(SetCaption)指令:
设置标题( <对象>, "<标题文本>" )
有多个对象需要设置标题,这里偷下懒:
即:D1,D2,D3分别为2,8,32;E1,E2,E3分别为4,16,64。于是:
设置标题[B1,"$\large\frac{1}{" D1 "}$"]
设置标题[B2,"$\large\frac{1}{" D2 "}$"]
设置标题[B3,"$\large\frac{1}{" D3 "}$"]
设置标题[C1,"$\large\frac{1}{" E1 "}$"]
设置标题[C2,"$\large\frac{1}{" E2 "}$"]
设置标题[C3,"$\large\frac{1}{" E3 "}$"]
【其实,这么有规律,应该是有快捷方法的。不过,啊K试不出来,如果您有其他方法,欢迎留言。】
选择用设置标题的方法,是因为可以和多边形一起出现,且可微调位置。
最后一个正方形的效果最后一个正方形,即为:
poly2 = 多边形((7 / 8, 7 / 8), (1, 7 / 8), 4)
当n分别等于1,2,3,4,5,6时,黄色矩形、蓝色正方形开始逐一显示。
若7 ≤ n ≤ 8时,显示poly2;8 < n < 9,平移poly2;9 ≤ n ≤ 10,poly2逐渐变小直至消失。
那么,可以如何做?
其中,平移(translate)、向量(vector)指令:
平移( <几何对象>, <向量> )
向量( <起点>, <终点> )
而点I的位置可根据需要达到的效果,再进行调整。
至于q2其实是将多种情况写在一起:
按一定的比例缩放,而且,比例是由1到0,即有逐渐变小的效果
这么做的好处是,只需设置一次标题与显示条件:
q2的标题为$\large\frac{1}{64}$,显示条件为n ≤ 9。
文本的显示▪ 逐渐显示文本1/2 1/4 1/8 1/16 1/32 1/64,并且与多边形的显示同步。
也就是n为1时,开始显示“1/2 ”;n为2时,开始显示“1/4 ”;……;n为6时,开始显示“1/64”。
如何达到这个效果呢?
序列即sequence,分数文本即fractiontext
这是将“1/2 ”,“1/4 ”,……,“1/32 ”,“1/64”分别作为一个整体,再分别固定在某一个点上。
l5怎么理解呢?
如下图,n>6时,即为""。所以,不影响显示。故,n的范围无需限定。
▪ 当最后一个正方形“消失”后,显示文本=1-1/64,再显示文本63/64。
也就是当n大于等于10,显示文本=1-1/64;当n等于11时,显示文本63/64。
于是:
text1 = 如果(n ≥ 10, 公式文本("\textcolor{white}{=1-}\frac{1}{64}"))
text2 = 如果(n == 11, 公式文本("=\frac{63}{64}"))
其中,需将text1设置为粉色。
又或者让text1 = 如果(n ≥ 10, 公式文本("=1-\textcolor{#FF6699}{\frac{1}{64}}"))
再将text1设置为白色。
创建按钮只要拉动滑动条n,即可看到动态演示的效果。
想用按钮的话,只需要创建两个按钮。
一个是初始化按钮,脚本为:赋值(n,0)
一个是演示按钮,脚本为:启动动画(n)
结语想要获取源文件?请点赞、转发、评论本文!
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved