学做勾股树,掌握迭代!套路在手,不怕迭代——GeoGebra
看到迭代就怕?理不清迭代到底怎么回事?
那就学一学勾股树吧!因为——做勾股树的方法多多,挑一个来学,只要理清了,就可以动手做其他迭代例子啦!
啊K学的是湖南周丙臻老师的方法,当想明白是怎么一回事的时候,超兴奋!超感激!
先来看效果吧:
其中,勾股树是用涂色工具进行涂色。
至于勾股树的制作,可以说是一条指令搞定!
所有指令
先放一下所有指令:
注:迭代列表(IterationList)、多边形(Polygon)、半圆(Semicircle)、描点(Point)、顶点(Vertex)、映射(Zip)、合并(Join)。
制作思路
迭代( <表达式>, <变量>, <起始值>, <迭代次数> )
迭代列表( <表达式>, <变量>, <起始值>, <迭代次数> )
多边形( <点1>, <点2>, <顶点数> )
- 勾股树可以看做是由一个正方形生成两个正方形,再生成四个正方形……一生二、二生四、四生八……
- 在已有正方形上不断重复生成正方形——可用迭代(Iteration)指令,其中“起始值”是正方形
- 迭代( <表达式>, <变量>, {多边形(A, B, 4)}, <迭代次数> )
- 注:“起始值”外面必须要有一层花括号{ }
- 至于“表达式”,需要写出左边、右边的正方形是怎么由底下正方形得到
- 要确定一个正方形,需要确定两点
- 一点是底下正方形的一个顶点
- 另一点的确定,要保证该处成直角——在半圆上描点(直径所对的圆周角是直角)
- 将左、右两正方形,放进花括号里,视为整体
- 由此,迭代生成的是正方形列表,需要依次取列表中的正方形进行操作——映射
- 而映射又会产生列表,最终就是产生两层花括号。但我们只需一层——合并
- 由于表达式是对列表进行操作,所以“起始值”必须是列表
- 在多边形(A, B, 4)外面加一层花括号
- 迭代( <表达式>, <变量>, {{多边形(A, B, 4)}}, <迭代次数> )
也就是说基本形式如下:
迭代(合并(映射({生成左正方形, 生成右正方形}, p, p1)), p1, {{底下正方形}}, n)
要看到迭代过程,则用迭代列表,即:
迭代列表(合并(映射({生成左正方形, 生成右正方形}, p, p1)), p1, {{底下正方形}}, n)
注:这里原本有两层花括号,只要一层——可以用合并,也可以用扁平列表。因为合并是去除一层花括号,扁平列表(Flatten)是只保留一层花括号。
超详细过程
想要看一步一步的操作与解说,请点击此处看视频。
你get到其中套路了吗
像一生二,都可以用这种形式:
迭代列表(合并(映射({对象1,对象2}, p, p1)), p1, {{对象0}}, n)
至于一生多?也是类似的:
迭代列表(合并(映射({对象1,对象2,……}, p, p1)), p1, {{对象0}}, n)
这个套路超赞的地方是不用半点计算!而且很直接——要得到什么,就让什么作为基础去生成!
回顾一下做法——给一个正方形,就利用这个正方形去生成两个正方形,再由生成的正方形接着生成正方形……其中,利用正方形的顶点作为桥梁。
想检验一下是否真的明白了,不妨多尝试做几个例子!比如——
一生一的:
一生二、一生三:
如需勾股树源文件,请回复:勾股树。
【点击文末的“了解更多”,关注后回复,可立马获取。】
请先 后发表评论~