分形与L-Systems
Contents
L-Systems 是鄙专业(生物系统工程)在生物系统模拟这门课程中需要学习的语言之一。 非常有趣。
一个例子
开始之前,先看看一个例子:
其代码只有寥寥数行:
|
|
需要的信息其实很少,只依赖自相似与迭代。所以让我们看看这棵树是怎么长成的:
再来看一眼简化的代码(黑白的版本):
|
|
F
:向前画一个单位
-
:顺时针旋转25°
+
:逆时针旋转25°
[
:暂存当前光标所在位置
]
:取出上一次存入的光标位置
其工作原理,一开始绘制X,然后每个round按照rules来迭代。
- 第零代
X(无输出)
相关书目
时间所限,就不具体讨论了,我只是来抛个砖。大家可以自行 Google 分形和 L-Systems 来获取更多的信息。
然后推荐一本书(我的老师课上推荐的):《The Algorithmic Beauty of Plants》(中译:植物的算法美)。 有提供免费的PDF电子版,维基百科上有相关的链接。
Links
L-Systems Turtle Graphics Renderer
一个简单的2D渲染器,本文的例子就来自与此页面,其实L-Systems是支持3D的。
Author Zeno Zeng
LastMod 2018-03-29