网站首页 > 基础教程 正文
上一个作品,我们是在数轴上依次画出表示根号2、根号3、根号4、根号5……根号10的点:
那么,类似地,可以利用勾股定理(毕达哥拉斯定理),作出长为根号2、根号3、根号4、根号5……的线段:
有人称之为毕氏螺线。毕氏,即毕达哥拉斯。也有人称之为根号数的迭代。
前一个叫法好理解,而后一个叫法,则与其制作有关。
那么,是怎么制作的呢?
迭代
何为迭代?
每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
而毕氏螺线是怎么得来的?我们先来看下图中的点B2,B3,B4是怎么得来的。
将点B1作为起始点:
点B4,B5,B6,……也可以依照此规律作出来。
而作出这些点的过程,就是不断地对上一个点进行相同操作(“垂直”,“长为1”)的重复过程,即为“迭代”。
在GeoGebra中,有迭代(Iteration)指令:
迭代( <表达式>, <变量>, <起始值>, <迭代次数> )
? 例:
- 将点B以点A为中心,逆时针旋转90度,得到第一个新点;
- 再将此点以点A为中心,逆时针旋转90度,得到第二个新点;
- 又将此点以点A为中心,逆时针旋转90度,得到第三个新点;
也就是迭代三次,即:
迭代(旋转(A, -90°, P), P, {B}, 3)
其中,起始值需用花括号{ }括起来。
由上图可见,只得到一个新点——点C。点C为第三个新点,也就是最后一次迭代所得结果。
那么,如果需要显示迭代过程中所产生的点,应该如何做呢?
在GeoGebra中,有相应的指令——迭代列表(IterationList)指令:
迭代列表( <表达式>, <变量>, <起始值>, <迭代次数> )
迭代列表指令,返回的是一个列表,其中,第一个元素为起始值,其后的元素为每次迭代所得到的结果。
? 以上面的例子为例,如需显示迭代过程,即:
迭代列表(旋转(A, -90°, P), P, {B}, 3)
需要注意的是:起始值也需用花括号{ }括起来。
对迭代、迭代列表有了初步认识后,我们来看看怎么用迭代列表作出毕氏螺线中相关的点。
至于需要动态显示,只需让迭代次数是一个变量即可,我们用滑动条n来表示,即:
n = 滑动条(1, 18, 1)
当然,n的最大值并非必须是18,也可以再大一些。
再作出点A、点B:
A = 交点(x轴, y轴)
B = (-1, 0)
备注:滑动条(slider)、交点(intersect)、x轴(xAxis)、y轴(yAxis)。
为了保证“垂直”与“长为1”,有多种做法。这里介绍三种方法。
【法一】
- “垂直”——旋转90度;
- “长为1”——除以自身的长度。
即:
迭代列表(P + 向量(P, 旋转(A, -90°, P)) / 距离(P, 旋转(A, -90°, P)), P, {B}, n)
备注:向量(vector)、旋转(rotate)、距离(distance)。
【法二】
- “垂直”——旋转90度;
- “长为1”的向量——单位向量。
即:
迭代列表(P + 单位向量(向量(P, 旋转(A, -90°, P))), P, {B}, n)
备注:单位向量(unitvector)。
【法三】
“垂直”,且“长为1”的向量——单位法向量。
即:
迭代列表(P + 单位法向量(线段(A,P)), P, {B}, n)
备注:单位法向量(unitperpendicularvector)。
取以上任意一种方法构造点均可,并命名为l1。
多边形
有了这些点,即 l1;则可构造出相应的直角三角形。即:
l2 = 序列(多边形(A, 元素(l1, k), 元素(l1, k + 1)), k, 1, n)
备注:序列(sequence)、多边形(polygon)、元素(element)。
关于序列指令的解读,请见链接。
文本
先标出直角边AB的长为“1”:
而其他长为1的直角边,则可利用序列指令标出“1”,即:
l3 = 序列(文本("1", 中点(元素(l1, k - 1), 元素(l1, k)), true, true), k, 2, n + 1)
而根号2、根号3、根号4……等文本的显示,也同样可利用序列指令,即:
序列(文本("\sqrt{" + k+ "}", 中点(A, 元素(l1, k)), true, true), k, 2, n + 1)
但是,发现文本的位置并不太妥当。
还记得,《文本进阶》中的“放大招”吗?
此刻,即可派上用场,操作如下:
至此,拉动滑动条n,即有开头演示的效果。
结语
有重复性操作,不仅可以交给序列,还可以交给迭代或迭代列表。
打个比方:
- 如果是已知通项公式,即知道第n项与n之间的关系,则可使用序列。
- 如果是已知递推公式,即知道第n项与其前一项或几项的关系,则可使用迭代或迭代列表。其中,如需显示迭代过程的,则用迭代列表;而只需最终的迭代结果,则用迭代。
在GeoGebra中,除了序列指令、迭代与迭代列表指令,还有一大指令——映射(zip)指令,也是可以使得制作更方便、更高效!
映射指令,主要是在批量构造对象、处理对应关系上,有极大的优势。
如需作品源文件,请回复:毕氏螺线。
猜你喜欢
- 2024-11-04 八年级数学:二次根式的学霸笔记已经悄然来到这个数学江湖
- 2024-11-04 教你5秒钟手撕根号运算 手算根号怎么算
- 2024-11-04 复数的立方根怎么求? 复数的立方根是什么树
- 2024-11-04 高中数学:50个公式,50种快速做题方法!
- 2024-11-04 八年级上学期,勾股数与直角三角形的判定问题,重在理解与计算
- 2024-11-04 23舰队旗舰日野根号(上) 日本“金刚”号铁甲舰
- 2024-11-04 2020年期末复习篇:七年级上学期期末专题3 实数综合
- 2024-11-04 中考圆的轨迹问题,有迹可循,头晕问题破解有招数
- 2024-11-04 一道化简题,有技巧哟 30道化简题
- 2024-11-04 23舰队旗舰日野根号(下)
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)