Scratch画分形几何图系列27:谢尔宾斯基填充曲线

Scratch画分形几何图系列27:谢尔宾斯基填充曲线

首页休闲益智画线填充更新时间:2024-05-11

Scratch画分形几何图系列27:谢尔宾斯基填充曲线

前面我们画出了皮亚诺填充曲线和希尔伯特填充曲线,现在我们来画另外一种填充曲线——谢尔宾斯基填充曲线。

先看第一种画法:

经典谢尔宾斯基填充曲线

(1)分布示意:

初级

一级

二级

(2)得出经典谢尔宾斯基填充曲线的L系统:

公理; F--XF--F—XF,

X -> XF F XF--F--XF F X,

转角 = 45度

:左转45度,-:右转45度,F:画线L步,X:N=0时什么也不做

(3)由L系统做出递归子程序和主程序,这里为了画出的填充曲线在屏幕较好展示,我们需要计算每一级的移动步数L与整个分形图的宽度之间的关系:

计算合适的L值

递归子程序

主程序

(4)更密集的填充图:

4级谢氏填充曲线

6级谢氏填充曲线

N=7时的填充曲线

谢尔宾斯基填充曲线(Sierpinski Filling Curve),还有一种画法:

(5)就是仿照前面画希尔伯特填充曲线的思路,用两种规则L和R套用来实现谢尔宾斯基填充曲线的画法。

L的规则是按顺时针方向画三线段(RFR)形成梯形;

R的规则是按逆时针方向画三线段(LFL)形成梯形。

主程序是L和F按一定规则组合形成。示意图如下:

互相调用的递归子程序示意

(6)我们根据上面的生成规则定义L系统如下:

公理 L−−F−−L−− F

规则 L→ R−F−R ;R→ −L F L−

符号 F:前进 ; :左转45度;−:右转45度;

L,R:什么都不做。

(7)根据L系统的定义先写出互相调用的递归子程序代码:

子程序

(8)主程序和分级图:

主程序

2级

3级

6级

13级

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved