该软件包提供了一个库,您可以在此基础上进行扩展,直接使用 Swift 编程语言开发您自己的 Lindenmayer 系统。 虽然该软件包包含许多 L-系统的示例,但其主要目的是允许您创建具有您自己定义的规则和模块的 L-系统。 此实现支持在创建 L-系统时使用上下文相关和参数化语法。
该库提供当前 L-系统状态的 2D 和 3D 表现形式渲染,包括一些 SwiftUI 视图,您可以使用这些视图来显示 2D 或 3D 结果。
如果您有任何问题,存储库已启用 讨论 功能,并且 已记录有关计划改进的问题。
欢迎贡献,可以是讨论、反馈、问题或代码。
多种因素共同促成了此开发,最初只是作为一个实验和一般探索。 其中一部分是 henrinormak 的 lindenmayer swift playground,作者是 @henrinormak,它实现了一种出色的单字符表示,非常适合探索分形系统。 反过来,这是建立在 Aristid Lindenmayer 在 The Algorithmic Beauty of Plants 一书中研究的基础之上。 Aristid Lindenmayer 开始的研究继续由 Przemyslaw Prusinkiewicz 教授 扩展,并在网站 Algorithmic Botany 上慷慨地发表研究论文。
其中几篇论文扩展了创建和评估 L-系统的工具,它们的进步使得在 L-系统中表达有趣的新功能成为可能
我最感兴趣利用的功能
虽然可以使用解释器来实现此项目,但我希望了解我可以在多大程度上利用 Swift 语言。 该项目试图沿着 L+C 语言的概念脚步,创建一种机制来创建 L-系统,该系统可以编译为机器代码,从而提高执行效率。