简化您的工作流程:搜索 miniwebtool。
添加插件
相关工具
曼德博集合探索器谢尔宾斯基三角形生成器
主页 > 杂项 > 通用工具 > L-System分形生成器
 

L-System分形生成器

根据Lindenmayer系统(L-System)规则生成美丽的分形。选择一个经典预设(科赫雪花、科赫正方形、谢尔宾斯基三角形、龙形曲线、分形树、植物),或编写您自己的公理、产生式规则和海龟步进角度 —— 本工具可以扩展字符串、控制海龟移动,并渲染出带有动画绘制效果、按深度着色的SVG。

L-System分形生成器
尝试预设:
使用大写字母 FG 表示绘制笔画,使用任何其他字母(X、Y、A、B……)表示不绘制的重写符号。注释以 # 开头。
F 向前绘制 f 移动(不绘制) + 左转 - 右转 | 翻转 180° [ 入栈状态 ] 出栈状态
朝向 = 正东(曲线),90° = 正北(树木和植物向上生长)。迭代次数上限为 8 — 字符串长度会迅速爆炸。
服务端字符串重写 + 海龟绘图 → 可缩放 SVG。

Embed L-System分形生成器 Widget

L-System分形生成器

L-System分形生成器将 Lindenmayer 系统的语法转换为美观的、基于深度着色的动态 SVG 分形。选择一个预设 — 科赫雪花 (Koch snowflake)、谢尔宾斯基三角形 (Sierpinski triangle)、龙曲线 (Heighway dragon)、希尔伯特曲线 (Hilbert curve)、分形植物、树木或灌木 — 或编写您自己的公理和产生式规则,观看字符串爆炸式增长为自相似的形状。该工具在服务端扩展字符串,让虚拟海龟遍历每个符号,并将结果渲染为可缩放的 SVG,您可以下载、编辑或粘贴到幻灯片中。

什么是 L-System?

L-System(或 Lindenmayer 系统)是一种并行字符串重写语法,由匈牙利生物学家阿里斯蒂德·林登迈尔 (Aristid Lindenmayer) 于 1968 年发明,用于对植物和微生物的生长进行数学建模。它包含三个要素:一个公理(包含一个或多个符号的起始字符串)、一个或多个产生式规则(每个规则将单个符号映射到一个替换字符串)以及一种解释(在这里为海龟绘图 — 一只服从前进、左转、右转、入栈和出栈命令的虚拟画笔)。

要运行该系统,您从公理开始并并行应用规则 — 所有符号同时被替换,然后开始下一次迭代。经过几次迭代后,字符串变得极其庞大,并且呈现出明显的分形特征。当您将该字符串交给海龟时,就会呈现出具有自相似性的图形。

海龟符号一览

符号海龟执行的操作
F, G向前移动一步并绘制一条线。
f向前移动一步但不绘制。
+向左旋转您指定的角度(例如 25°、60°、90°)。
-向右旋转该角度。
|将朝向翻转 180°。
[将当前位置 and 朝向压入栈中 — 用于开始一个分支。
]从栈中弹出位置和朝向 — 返回到分支点。
X, Y, A, …其他字母:纯重写符号。它们会影响下一次迭代,但自身不绘制任何内容。

是什么让这款 L-System 生成器与众不同

逐笔动画绘制 使用 SVG stroke-dashoffset 动画观看每个分支层级按顺序出现。先绘制树干,然后是主分支,接着是小树枝 — 这完美地反映了重写的递归结构。您可以随时点击“重新播放”。
深度感知着色 每个笔画都知道自己的括号深度。植物预设使用棕到绿到蓝的调色板,使树干看起来真正像树干;曲线预设使用靛蓝到青色的渐变。可选的笔画渐细功能使分支在尖端变得更细。
迭代追踪 准确查看字符串在每次迭代中是如何增长的。追踪面板显示了字符串长度(通常每步增长 3-5 倍)以及每个中间字符串的前 120 个字符 — 让生成过程变得可见,不再隐藏。
十二种教学级预设 科赫雪花、科赫正方形、谢尔宾斯基三角形和箭头曲线、龙曲线、希尔伯特曲线、莱维 C 曲线、水晶、分形植物、树木、灌木和海藻 — 每一种都演示了不同的 L-System 机制。
产生式规则卡片 每个规则都以卡片形式显示,其中包含符号、箭头和替换字符串。公理拥有自己的琥珀色卡片。您可以一目了然地阅读语法,而无需从文本区域中反向推导。
SVG 和 PNG 导出 下载用于打印和幻灯片的纯净、无动画的 SVG,或者用于聊天和社交分享的 2 倍分辨率 PNG。还可以将 L-System 定义(公理、规则、角度、迭代次数)复制为纯文本,以便与同学分享。

重写是如何工作的(示例)

以公理为 F、规则为 F → F+F-F-F+F、海龟角度设置为 90° 的科赫曲线 (Koch curve) 为例。以下是字符串的演变过程:

  • 迭代 0: F — 1 个字符。
  • 迭代 1: F+F-F-F+F — 9 个字符。单个 F 变成了一个方形凸起。
  • 迭代 2: F+F-F-F+F + F+F-F-F+F - F+F-F-F+F - F+F-F-F+F + F+F-F-F+F — 49 个字符。迭代 1 中的每个 F 自身都已被替换为 F+F-F-F+F。
  • 迭代 3: 249 个字符。迭代 4:1,249 个字符。迭代 5:6,249 个字符。

这种增长是几何级数的:每次迭代都会将长度乘以 5(替换字符串的长度)。经过 5 次迭代后,海龟有数千个命令需要执行,结果就是清晰可辨的科赫分形 — 一条类似于海岸线的曲线,其分形维数为 log(4)/log(3) ≈ 1.26。

括号如何构建植物

如果没有括号符号 [ 和 ],每个 L-System 都只是一条连续不断的单一曲线。括号开启了分支功能:当海龟遇到 [ 时,它会将当前位置和朝向压入栈中,在括号内绘制分支,然后在遇到 ] 时弹回原处。规则 F → F[+F][-F]F 表示“每个向前笔画都会变成一个笔画、一个左分支、一个右分支和一个继续前进的笔画” — 这就是一棵树的配方。

分形植物预设极好地展示了这一点。它的规则 X = F+[[X]-X]-F[-FX]+X 使用双重括号来编码“分支中的分支”。经过 5 次迭代后,生成的字符串包含 11,000 多个符号和大约 1,000 多个括号对 — 海龟尽职尽责地执行入栈和出栈操作,绘制出一株蕨类植物。

L-System 的应用领域

  • 过程式植物生成: SpeedTree 和 Houdini 生态系统使用 L-System(及其随机、参数化和上下文相关扩展)来为电影和游戏种植森林、丛林和农田。
  • 建筑与城市建模: 源自 L-System 的基于规则的语法可以生成建筑物外墙、街道网络和整个过程式城市。
  • 生物学与形态学: 最初的应用场景 — 对藻类细胞的发育、植物的分支以及珊瑚和晶体的结构进行建模。
  • 计算机图形与 Demoscene 艺术: 用非常小的文件体积来紧凑描述复杂的分形曲线 — 一个 30 字节的规则就可以产生一个百万像素的图像。
  • 数学教育: 上下文无关并行语法的典型示例;连接形式语言与分形几何的直观桥梁。
  • 生成音乐与编舞: 相同的重写机制应用于音乐乐句或舞蹈动作,从而产生具有结构感且有机的作品。

设计您自己的 L-System

一些总能生成好看分形的经验法则:

  • 从小的开始。 新规则的 3 次迭代足以看清结构。只有在确定形状按照预期增长后,再增加迭代次数。
  • 对于曲线,选择能整除 360° 的角度(60°、72°、90°、120°)。对于植物,18° 到 30° 之间的角度可以产生看起来很自然的分支。
  • 使用不绘制的符号(如 X)来控制结构。规则 F → FF 只是将每个笔画加倍,但公理为 X 的规则 X → F+X[-X] 会创建一个分支形状 — F 绘制可见的线条,X 控制分支模式。
  • 保持括号平衡。 每个 [ 必须有一个匹配的 ]。该工具在绘制时允许不平衡的括号,但您会遇到意想不到的跳跃。确保每个 [ 都有一个 ] 配对。
  • 注意增长率。 如果您的规则将 F 替换为五个符号,则每次迭代都会将字符串乘以 5。F → FF+F-F+F 的 6 次迭代就已经超出了大多数渲染器的承受范围。

随机与参数化扩展

该工具中的确定性 L-System 是最简单的变体。现实世界中的植物建模者使用更丰富的语法:随机 L-System (stochastic L-systems) 为同一个符号的多个规则分配概率,因此每株植物都略有不同。参数化 L-System (parametric L-systems) 为符号附加数值(分支的长度或厚度),并允许规则读取和修改它们。上下文相关 L-System (context-sensitive L-systems) 允许规则仅在其符号具有特定邻居时才触发。这些都可以将静态分形变成一个可以生长、反应和老化的系统。

常见误区

  • “迭代次数越多越好看”: 错误。超过五或六次迭代后,笔画会重叠,细节反而会丢失。最佳迭代深度取决于规则 and 显示分辨率。
  • “L-System 只能画植物”: 它们可以描述任何自相似曲线。科赫曲线、龙曲线、谢尔宾斯基垫片 — 全都是 L-System。
  • “必须使用括号”: 不需要。像科赫、龙曲线和莱维这样的单笔画曲线不需要括号。只有在需要分支时才需要括号。
  • “所有分形都具有相同的分形维数”: 错误。科赫的维数 ≈1.26,龙曲线的维数是 2,谢尔宾斯基的是 ≈1.58,希尔伯特曲线的逼近 2 — 每个规则都有自己的维数,这取决于字符串的增长方式与海龟移动距离的对比。

常见问题解答

什么是 L-System?

L-System(或 Lindenmayer 系统)是一种并行字符串重写语法,由生物学家阿里斯蒂德·林登迈尔 (Aristid Lindenmayer) 于 1968 年发明,用于对植物生长进行建模。它从一个公理(一个短字符串)开始,重复应用将单个符号替换为更长字符串的产生式规则,然后将最终的字符串解释为海龟绘图命令。结果是一个自相似的分形。

这些符号是什么意思?

F 和 G 是绘制笔画(海龟向前移动并绘制一条线)。f 是静默移动(向前移动但不绘制)。+ 将海龟向左旋转您指定的角度,- 将其向右旋转,| 将其翻转 180 度。[ 将海龟的位置和朝向压入栈中,] 将其弹回。所有其他字母(X、Y、A、B……)都是仅重写符号 — 它们会影响下一次迭代,但不会绘制。

为什么 L-System 擅长对植物进行建模?

括号符号 [ ] 让海龟能够记住并恢复其位置,因此单个规则可以产生分支。像 F = F[+F][-F]F 这样的规则会绘制一根茎,向两个方向分支,然后继续 — 这正是植物生长的方式。通过稍微不同的规则和角度,相同的引擎可以生成蕨类植物、灌木、树木、海藻和根系。

规则中 F 和 X 有什么区别?

F 既是一个绘制符号(当海龟看到 F 时它会绘制一条线)又是一个重写符号(规则可以在左侧匹配 F)。X 是一个纯重写符号 — 当海龟在绘制过程中看到 X 时,它什么都不做。当您想要一个控制结构而不被绘制出来的符号时,X 非常有用。

我应该使用多少次迭代?

对于大多数预设,4-6 次迭代就能产生可辨认的分形。字符串长度呈指数级增长,因此从 6 次迭代增加到 7 次可能会使工作量乘以 3-5 倍。该工具将迭代次数限制为 8 次,重写后的字符串限制为 250,000 个字符,以保持渲染的响应速度。

基于深度的着色是由什么控制的?

每个 [ 都会将海龟推入更深的括号层级;每个 ] 都会弹回。达到的最深层级就是最大深度。选择“深度渐变”可以根据括号层级为每个笔画着色 — 非常适合植物,因为树干和分支自然处于不同的深度。

初始角度是如何工作的?

初始角度是海龟在第一步时所面对的方向。0° 表示正东(向右)— 大多数曲线都使用它。90° 表示正北(向上)— 植物和树木使用它,以便它们朝向画布顶部生长。尝试更改任何预设上的初始角度以旋转整个图形。

我可以下载分形吗?

可以。下载为 SVG 格式可在打印、演示和激光切割中获得清晰的缩放效果,下载为 PNG 格式便于在聊天和社交媒体上分享。“复制”按钮可复制完整的 L-System 定义(公理、规则、角度、迭代次数),以便您可以将其粘贴到笔记或其他工具中。

最大复杂度是多少?

最多支持 8 次重写迭代、扩展字符串中包含 250,000 个字符、60,000 个绘制线段以及 12 个产生式规则。这些上限使 SVG 足够轻量,从而可以流畅地渲染和下载。对于更大的网格,请考虑使用桌面端 L-System 工具,例如 cgkit 或 Houdini。

如果我的括号不平衡会怎么样?

未闭合的 ](没有匹配 of [)会被静默忽略 — 海龟会留在原处。未闭合的 [(没有结束的 ])意味着海龟永远不会执行出栈操作,因此它会一直向前绘制,而永远不会返回到分支点。该工具总是会完成绘制,但结果可能与您的预期不符。请确保每个 [ 都有一个 ] 与之匹配。

什么是海龟绘图解释器?

它是一个虚拟画笔,服从来自字符串的移动命令。这个名字源于 Logo 编程语言。海龟有一个位置和一个朝向(它面对的方向)。每个 F 都会使其在当前朝向上面前移动一步;+ 和 - 会旋转朝向。海龟正是将扁平的字符串转化为二维图形的关键所在。

为什么我的分形看起来被挤压了?

该工具会自动将图形自适应到画布中,同时保持宽高比,因此图形会缩放但不会变形。如果分形在视觉上看起来不平衡,可能是规则本身的原因 — 例如,龙曲线的宽度大于高度,这是正确的。增加迭代次数可以查看形状的收敛情况。

引用此内容、页面或工具为:

"L-System分形生成器" 于 https://MiniWebtool.com/zh-cn/l-system分形生成器/,来自 MiniWebtool,https://MiniWebtool.com/

由 MiniWebtool 团队制作。更新于:2026-05-20

通用工具:

常用工具:

随机信用卡生成器MAC地址查找彩票号码生成器🌡️ 体感温度计算器凯利公式计算器网址提取器相对标准偏差计算器太阳、月亮与上升星座计算器 🌞🌙✨随机扑克牌生成器CAGR计算器百分比折扣计算器英尺英寸转换为厘米VAT计算器cpm计算器MAC地址生成器比例计算器斜边计算器厘米到英尺和英寸转换器血糖转换器样本量计算器对数计算器音频分割器SRT转为TXT工具定期存款计算器FPS 转换器音频提取器图片打码工具职位查找器随机字符串生成器太阳位置计算器调整视频速度🎮 游戏灵敏度转换器HEX计算器位数计算器毛利率计算器移除标点符号在线工具考拉兹猜想计算器卧推计算器分数计算器随机IMEI生成器t检验计算器SHA256 哈希生成器质数检查器随机选择器Facebook用户ID查询磅转千克转换器合并视频椭圆周长计算器kpa到psi转换器One Rep Max (1RM) 计算器为图片添加文字kg到lbs转换器卡方检验计算器图片压缩器沸点计算器两点间距离计算器泰勒级数计算器srt时间偏移根式化简器视频转图片提取器随机化数字快速傅里叶变换FFT计算器百分比减少计算器百分比变化计算器农历转换器利润计算器英寸到厘米转换器📅 日期计算器月亮星座计算器相关系数计算器图片分割器百分比增长率计算器年度天数计算器 - 今天是今年的第几天黄金时刻和蓝调时刻计算器密码强度测试器伊斯兰历转换器伽玛功能计算器文本列提取器3D距离计算器PSI 转 Bar 转换器复数计算器MD5哈希生成器Log Base 10 计算器圆形面积计算器数织生成器-picross积分计算器MAC 地址分析工具动量计算器多项式展开计算器年龄计算器罗马数字转换器原根计算器商和余数计算器因子计算器视频分割器IPv4/IPv6到十六进制转换器新月和满月日历随机坐标生成器骰子滚轮发音音标转换器标准偏差计算器 - 高精度死链检查器DOY日历三角函数绘图器圆计算器复合增长率计算器翻转视频随机虚假地址生成器YouTube缩略图下载器亚马逊 FBA 计算器文本转二进制/十六进制/ASCII转换器误差函数计算器🔊 音调发生器atan2计算器力量标准计算器🖱️ 点击计数器雷诺数计算器Instagram用户ID查询十六进制到十进制转换器百分比增加计算器预期寿命计算器AI标点符号添加器十进制到十六进制转换器图片Base64转换器平方根计算器年金现值计算器极坐标方程绘图器随机和弦生成器互补误差函数计算器厘米到英寸转换器📈 折线图制作工具数字提取器百分比计算器YouTube频道统计体脂百分比计算器圆柱体体积计算器 高精度指数计算器-高精度按字符数换行排序数字数字随机化器景深 (DoF) 计算器透镜方程计算器逻辑门模拟器随机英文单词生成器🥧 饼图制作工具骰子概率计算器中位数计算器真心话大冒险生成器英尺到米转换器随机超能力生成器AI Token 计数器Cohen's d 计算器删除换行符工资转换计算器拉普拉斯变换计算器排列计算器条形码生成器椭圆面积计算器角速度计算器谐振频率计算器随机字母生成器随机锦标赛对阵生成器💧 露点计算器填字游戏制作器平均值计算器极限计算器百分比到ppm转换器组合计算器跑步配速计算器SRT合并工具Zalgo文本生成器两个日期之间为视频添加水印删除线文字生成器变异系数计算器图片添加线条多普勒效应计算器总和计算器投球命中率计算器随机RPG角色生成器随机端口号生成器A/B测试样本量计算器MurmurHash3 生成器ROI计算器WHOIS查询乘法计算器⏱️ 倒计时器利润计算器按字母顺序排序数据传输速率转换器特征值和特征向量计算器磅到克转换器身高百分位数计算器镶嵌图案生成器anova计算器债券收益率到期日计算器八进制计算器反向文字常规时间到小数时间转换器摩尔斯电码生成器波速计算器浮力计算器终端速度计算器德布罗意波长计算器光子能量计算器emc2计算器时间膨胀计算器开普勒第三定律计算器逃逸速度计算器万有引力计算器比尔-朗伯定律计算器能斯特方程计算器渗透压计算器沸点升高计算器凝固点降低计算器百分比组成计算器当量浓度计算器质量摩尔浓度计算器pKa到Ka转换器亨德森-哈塞尔巴尔赫计算器理论产量计算器限制反应物计算器电子排布计算器交互式元素周期表AI教案生成器AI测验生成器引用生成器 (APA/MLA/Chicago)出勤率计算器AP分数计算器ACT分数计算器SAT分数计算器百分比转CGPA转换器CGPA转百分比转换器简易评分器 EZ Grader养育孩子成本计算器宝宝奶量计算器尿布尺寸计算器婴儿名字生成器宝宝眼睛颜色预测器儿童BMI百分位计算器儿童身高预测器hcg翻倍时间计算器试管婴儿预产期计算器着床计算器中国生男生女预测器ISO 8601 日期格式化工具儒略日转换器小睡计算器月相计算器日出日落计算器世界时钟日期罗马数字转换器退休倒计时戒瘾天数计算器半岁生日计算器纪念日计算器周数计算器小费分配计算器电子邮件营销ROI计算器每条线索成本计算器营运资本计算器边际贡献计算器FIFO / LIFO 计算器安全库存计算器再订货点计算器经济订货量eoq计算器折旧计算器手工艺品定价计算器批发价格计算器Shopify 利润计算器eBay费用计算器Etsy费用计算器Stripe 手续费计算器PayPal手续费计算器投注赔率转换器十一奉献计算器天课计算器英国印花税计算器HRA免税计算器服务酬金计算器NPS计算器EPF计算器PPF计算器RD计算器SWP计算器税前工资倒推计算器贷款比较计算器信用使用率计算器CD阶梯计算器美国国库券T-Bill计算器I 系列储蓄债券计算器529大学储蓄计算器HSA计算器遣散费计算器加薪计算器发票生成器出差津贴计算器里程报销计算器房租涨幅计算器按比例租金计算器房租承受能力计算器汽车落地价计算器购车预算计算器摩托车贷款计算器房车贷款计算器船舶贷款计算器土地贷款计算器建筑贷款计算器只付利息抵押贷款计算器气球贷计算器房贷点数计算器PMI计算器双周房贷还款计算器ARM浮动利率房贷计算器VA贷款计算器实发工资计算器AI SQL 查询生成器AI正则表达式生成器AI 数据可视化工具 (粘贴 CSV)AI文本语气分析器AI简历分析器AI单位转换器自然语言AI道歉信生成器AI礼貌借口生成器AI旅行行程生成器AI阅读清单生成器AI健身计划生成器AI膳食计划生成器AI礼物点子生成器ai食谱生成器根据现有食材奖学金投资回报率计算器大学费用计算器语言学习流利度小时数计算器词汇测验生成器康奈尔笔记生成器学习曲线计算器抽认卡间隔重复调度器颜料调色计算器瓷砖填缝剂计算器六西格玛过程能力计算器youtube收益估算器