使用L系统画苹果树

本文介绍了如何利用Lindenmayer系统(L系统)在Scratch编程环境中模拟苹果树的生长过程。通过定义不同的积木块如随机树干长度、随机分支角度、苹果树和还原,以及设置全局变量和处理广播事件,实现了苹果树的自相似生长效果。最终展示了几种由L系统生成的不同形态的苹果树。
摘要由CSDN通过智能技术生成

    苹果树分为大树干、大树枝、小树干、小树枝,这些树干和树枝有自相似性,可以用L系统(Lindenmayer系统)来表达。
    L系统,是荷兰生物学家Aristid Lindenmayer(林登麦伊尔),于1968年提出的细胞交互作用的数学模型,它广泛应用在模拟生物生长的研究和实验。
    下面介绍,在Scratch里使用L系统来实现苹果树的生长。

1、定义"随机树干长度"积木

图(1) 定义"随机树干长度"积木

图(2) "随机树干长度"积木代码

2、定义"随机分支角度"积木

图(3) 定义"随机分支角度"积木


图(4) "随机分支角度"积木代码

3、定义"苹果树"积木


图(5) 定义"苹果树"积木


图(6) "苹果树"积木代码

4、定义"还原"积木


图(7) 定义"还原"积木


图(8) "还原"积木代码

5、定义4个变量

  • 分支角度
  • 缩小比例
  • 圆弧角度
  • 枝干长度
图(9) 定义4个全局变量

6、定义2个广播

6.1 "分叉"广播

图(10) 处理"分叉"广播事件

// ### 6.2 "画树枝1"广播

图(11) 处理"画树枝1"广播事件

7、主函数


图(12) 主函数

效果如下:

图(13) L系统生成的苹果树A

图(14) L系统生成的苹果树B

图(15) L系统生成的苹果树C

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanqima

一键三连,多多益善

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值