粉丝4146获赞1.8万

今天在做一个地规算法练习,用拍赃绘制这种勾古树。勾古树也叫必达哥拉斯树,是由必达哥拉斯根据勾古定理所画出来的一个可以无限重复的树形图形,如图所示。 如果给出最下面的正方形,则可以根据勾股定理画出边长 a 和 b 的两个正方形,再以边长 a 的正方形分列出左上的两个正方形, 以边长为臂的正方形分列出右侧的两个正方形,这样不断分列就可以绘制出勾股数。勾股数是分型的典型案例,也是一个地规问题。首先思考如何绘制这个基础图形。 导入海龟作图模块,导入计算编程用的三角函数,设置画布大小, 让画笔方向朝上向下移动一段距离。整个勾股数都是由正方形组成,所以先做一个画正方形的函数,可以通过参数控制正方形的大小。 接下来写勾古数的主函数,一个参数代表下面正方形的边长,另外一个控制角度如图所示。已知边长和角度,可以使用余弦函数计算出边长 a 和 b。 画笔起点在左下角朝上,首先画一个正方形, 然后画笔移动到这里,调整方向,画左上角的正方形,再将画笔移动到这里,调整方向,画右上角的正方形。 ok, 调用函数试一试,编长 两百,角度三十 没有问题。 接下来思考函数什么时候地规调用自身,不难发现,应该在画边长缺一的正方形前,地归调用函数自身,然后再绘制边长为臂的正方形,之前再次地归调用自身。 怎么回事?怎么一直画个没完?对了,地规的终止条件又忘设置了,添加分支判断,如果边长小于十,就终止循环 关闭。绘制过程什么情况?怎么乱七八糟的?哦哦哦,我好像 突然误了。深度优先算法函数最后必须要回溯到上一层节点,每次函数开头记录下画笔的位置和角度, 绘制完图形再将画笔归位,这样才能退回到上一层阶点。这次问题不大,归位时候忘记抬笔了,改一下, 成功了条件改一下,看看效果。嗯,可以了。最后给正方形填充随机颜色 漂亮的勾古树终于画好了,角度改成四十五度,边长改为小于五。 这不是孩子的数学练习册封面吗?分型很有意思,类似的分型还有这种谢尔滨斯基三角形, 还有这种苛刻雪花,这些都是练习地规算法的好素材。加关注,一起学编程!





大家好,这一讲我们一起来学习如何利用网络画板绘制色彩斑斓的构图术。打开 网络画板,我们绘制一个正方形,在平面中 任意做一点,把它平移 得到一条线段,然后或者两点做一条射线,在射线上 任意做一点,然后做一个过这两点的,以这两点所连线段为边的正方形, 然后我们找到这条边的中点,我们做一个半圆,这个做半圆呢,他是有顺序的, 先选择圆心,然后选择右边这一点,选择左边这个点,这时候 画出的是向上的半圆,否则呢是向下的,在半圆上绘制一个, 然后绘制这个三角形,我们隐藏这条射线, 下面我们做迭代变换,选择这两个点,选择迭代 下面这个点叠带到上面这个点呢 叠戴到这里,右面我们进行同样的叠戴,这个点叠戴到这里,这个点呢?叠戴到这里,好,我们就完成了一次 迭代,我们把迭代的深度,我们 给他做一个变亮, 这是 我们做出了勾股术,然后呢把这些个没用的隐藏, 这个半圆呢,我们也可以把它给藏 勾古树的颜色,我们如何能把它变得五彩斑斓呢?在这个 携带这里设定分层随机,我们看这颜色它就发生改 改变,好,这一节我们就学到这,再见。