大家好,我是爱编程的小熊,上一节我们学习了绘制曼陀罗曲线,曲线的无序凌乱让人惊叹。这节,让我们来学习绘制科赫雪花吧,看看雪花之美会给你带来怎么样的惊叹!
编程描述:
科赫曲线是一种像雪花的几何曲线,所以又称为雪花曲线,它是de Rham曲线的特例。科赫曲线是出现在海里格·冯·科赫的论文中,是分形曲线中的一种。
编程思路:
使用递归算法绘制一种类似雪花的曲线,并进一步完善
开始编程:
1. 二级科赫曲线
首先我们从最简单的一级科赫曲线画起。,好吧,一级就是一条线。
二级的科赫曲线需要在一级的基础上三等分,每次移动步数是之前的三分之一也就是90➗3=30,然后调整角度就可以了。
2. 多级科赫曲线
来来来,我们来自制一个科赫曲线的积木吧,首先得有层级,和长度。
当层级数为1的时候,我们只需要画一条直线,而层级数不为一的时候,是由四条大小为上一层的三分之一的科赫曲线组成。
我们来试试绘制级数为3的曲线看看
那么问题来了,怎么绘制雪花。这也很简单,绕一圈就可以了,我们重复执行3次,每次旋转120°,大家有没有感觉到很熟悉
4级,5级呢
如果重复执行4次,每次旋转90°会怎么样
3. 加上颜色
大家来加上颜色吧,这就不演示,都是同样的套路
4. 回顾一下
使用递归的实质是寻找某一级与下一级的关系,然后进行调用,加上控制结束的条件,就是一个很成熟的递归了
5. 探究一下
好了,你真的学会了吗,来探究一下吧
如何绘制下面图形?大家抓上爸爸妈妈一起探究一下吧
温馨提示: 嗯?
1)起点a向方向f绘画长度L的线条,到c点;
2)后退L/2到b点;
3)转到方向f',移动L/3,并退回b点;
4)在方向f'调用递归模块,重复生成基本单元;
5)转到方向f'',移动L/3,并退回b点;
6)在方向f''调用递归模块,重复生成基本单元;
7)转回方向f,并调用递归模块,重复生成基本单元;
8)回到起点a,再调用递归模块,继续重复生成基本单元;
9)以上8点生成了雪花晶片,通过以60度旋转一周的各方向生成雪花晶片,即可得到雪花的分形图。
当然,下节内容更精彩了....
大家想要源码可以留言,私信