刮擦图绘图分形系列100:IFS迭代系统绘图毕达哥拉斯树分形

1。算法分析

毕达哥拉斯树的三个正方形的侧面长度和角度图如下:

1。确定迭代函数:

以初始单位正方形的左下角为原点,让为左侧的角度。

(1)对于对应于左上角的正方形的函数,您需要首先按COS()进行缩放,然后逆时针旋转,然后向上翻译。它的数学表达是

这里,

下面相同。

(3)第三个函数是一个身份函数,即

刮擦图绘图分形系列100:IFS迭代系统绘图毕达哥拉斯树分形

它使绘制的正方形保持在当前位置不变,而前两个功能则用于添加新正方形。

2。设置概率

通常,前两个函数分别分别与小正方形的面积相同,并且可以将身份的概率设置为0,因为它不会产生新的图形更改。

3。选择初始点和迭代次数

您可以选择一个正方形的顶点,例如原点(0,0)作为初始点。迭代的数量决定了分形图的细度。一般而言,迭代越近,数字越接近真正的毕达哥拉斯树,但是计算量也将相应增加。

4。迭代

从初始点开始,根据设定概率选择迭代函数,将当前点替换为所选函数进行计算,然后获得新点。重复此过程,直到达到设定的迭代次数为止。

5。绘制图形

刮擦图绘图分形系列100:IFS迭代系统绘图毕达哥拉斯树分形

2。编程实施

在先前使用IFS绘制分形的想法的帮助下,给出了实现旋转和翻译的自定义构建块。

2。给出一个自定义构建块,根据概率选择转换模式:

请注意,这里相应的F1(x)为r=cos,=,e=0,f=1,示意图如下:

F1(x)的参数图

相应的F2(x)为r=sin,= – (90-)=-90,e=coscos,f=1+cossin。示意图如下:

F2(x)的参数图

3。假设参考方形的边缘长度为l,并且起点坐标是适当选择的。主要程序:

刮擦图绘图分形系列100:IFS迭代系统绘图毕达哥拉斯树分形

操作效果如下:

选择L=50和=62度的结果

选择L=75和=45度的结果

选择L=75和=30度的结果

与上面绘制的毕达哥拉斯树相比,相似之处和差异是什么?

用户评论


小清晰的声音

哇,这棵毕达哥拉斯树分形太漂亮了!我一直想试试Scratch画分形图,但感觉有点复杂。这个教程看起来很详细易懂,希望能跟着你一步一步学起来!

    有7位网友表示赞同!


桃洛憬

IFS迭代系统真是神奇啊!以前看过这种分形图像,觉得太不可思议了。没想到可以用Scratch实现,这让我对编程的可能性有了更深的认识。

    有11位网友表示赞同!


苏樱凉

我一直在折腾各种绘图软件,却始终没能画出这么美观的毕达哥拉斯树。这个教程真是宝藏!我已经迫不及待想试试用Scratch来生成分形图了。

    有15位网友表示赞同!


雪花ミ飞舞

我一直觉得学编程太复杂,特别是像IFS迭代系统这种高级算法。没想到你可以用Scratch把它解释得如此简单易懂,这让我对编程更有信心了!感谢你的分享!

    有15位网友表示赞同!


羁绊你

我有点疑问:为什么毕达哥拉斯树会被选作这个系列的第100篇文章?难道它的构造特别难吗?还是它有什么特别的意义?希望可以详细解释一下。

    有10位网友表示赞同!


孤者何惧

终于有人科普IFS迭代系统了,以前只知道这是一种算法,却没真正了解过它的原理和应用。这篇教程正好填补了我的知识空白!

    有8位网友表示赞同!


水波映月

这个教程太棒了!我已经成功画出了毕达哥拉斯树,感觉自己好像解锁了一项神奇的技能!以后我要用Scratch创建更多漂亮的分形图。

    有14位网友表示赞同!


你很爱吃凉皮

我试着跟着教程操作了一下,却发现有些步骤不太清楚。希望你能添加更多的解释或截图讲解,这样更容易上手!

    有20位网友表示赞同!


关于道别

Scratch的绘图功能还是比较有限的,用它来画分形图的效果可能不如专业的软件来得细腻。不过,能用Scratch学习IFS迭代系统也是一个很好的途径。

    有19位网友表示赞同!


无望的后半生

我虽然不是很懂编程,但是看着这些动态生成的图形还是觉得很震撼!真希望有时间可以深入了解一下Scratch的功能以及这些算法的原理。

    有15位网友表示赞同!


留我一人

这个教程的文字描述太简略了,缺少一些关键步骤说明,而且画面也比较模糊。总体来说还需要改进,这样教学效果会更好。

    有6位网友表示赞同!


别在我面前犯贱

我发现使用IFS迭代系统画出的毕达哥拉斯树和其他生成分形图的方式相比,细节不够清晰。可能需要探索更复杂的算法或调整参数才能达到更好的效果。

    有20位网友表示赞同!


浅笑√倾城

其实 Scratch本身虽然功能有限,但对于入门级使用者来说还是很好上手的。这篇教程用Scratch来讲解IFS迭代系统是非常有创意的!

    有13位网友表示赞同!


淡抹烟熏妆丶

这个系列博文看起来很有趣!希望以后还能看到更多使用Scratch生成的各种分形图,比如曼德博集、 Sierpinski三角形等等。

    有17位网友表示赞同!


有恃无恐

我对编程一点了解都没有,但看了这篇教程,竟然对IFS算法产生了好奇心。看来我需要好好学习一下编程的知识才行!

    有6位网友表示赞同!


米兰

这篇文章让我意识到,分形图这种看似天方夜谭的东西,竟然可以用Scratch这个简单的编程语言实现!真让人感叹科技的力量!

    有6位网友表示赞同!


不相忘

虽然我已经有一定的编程基础,但 IFS迭代系统还是让我感到比较困难。希望你能提供一些更深入的讲解或者代码示例,帮助理解其中的原理。

    有10位网友表示赞同!

上一篇
下一篇

为您推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@zhutibaba.com

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

手机访问
手机扫一扫打开网站

手机扫一扫打开网站

返回顶部