简化您的工作流程:搜索 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//,来自 MiniWebtool,https://MiniWebtool.com/

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

常用工具:

随机信用卡生成器MAC地址查找彩票号码生成器网址提取器相对标准偏差计算器CAGR计算器英尺英寸转换为厘米厘米到英尺和英寸转换器职位查找器太阳、月亮与上升星座计算器 🌞🌙✨VAT计算器随机ip地址生成器cpm计算器百分比折扣计算器磅转千克转换器随机选择器斜边计算器随机名字选择器定期存款计算器毛利率计算器样本量计算器kg到lbs转换器图片打码工具圆计算器t检验计算器音频分割器比例计算器合并视频HEX计算器FPS 转换器对数计算器英寸到厘米转换器随机字符串生成器英尺到米转换器音频提取器📅 日期计算器SRT转为TXT工具srt时间偏移血糖转换器MAC地址生成器厘米到英寸转换器移除标点符号在线工具Facebook用户ID查询随机扑克牌生成器MAC 地址分析工具卡方检验计算器罗马数字转换器🎮 游戏灵敏度转换器股票平均成本计算器视频转图片提取器随机化数字椭圆周长计算器二进制计算器数字提取器互补误差函数计算器DOY日历图片压缩器条形码生成器质数检查器百分比增长率计算器百分比变化计算器线性回归计算器年龄计算器两个日期之间凯利公式计算器调整视频速度随机IMEI生成器日历圆形面积计算器半衰期计算器One Rep Max (1RM) 计算器SHA256 哈希生成器直方图生成器复利计算机图片分割器卧推计算器平方根计算器分贝 (dB) 计算器填字游戏制作器百分比计算器真心话大冒险生成器凯撒密码工具分数计算器为图片添加文字最简分数计算器闰年清单利润计算器月亮星座计算器位数计算器标准偏差计算器 - 高精度名人名言搜索 (英文)视频分割器箱线图生成器圆柱体体积计算器 高精度盎司到克转换器AI Token 计数器年度天数计算器 - 今天是今年的第几天PSI 转 Bar 转换器YouTube缩略图下载器随机分组生成器朱利亚集合生成器曼德博集合探索器L-System分形生成器Delaunay 三角剖分生成器Voronoi 图生成器万花尺图案生成器镶嵌图案生成器六西格玛过程能力计算器帕累托图生成器NPS净推荐值计算器留存率同期群计算器客户流失率计算器客户获取成本CAC计算器客户终身价值 CLV 计算器转化率计算器A/B测试样本量计算器A/B测试显著性计算器透镜方程计算器导线磁场计算器电场计算器库仑定律计算器斯涅尔定律计算器惯性矩计算器角速度计算器向心力计算器单摆周期计算器弹簧劲度系数计算器多普勒效应计算器索提诺比率计算器特雷诺比率计算器股票贝塔系数计算器通胀保值美国国债 (TIPS) 计算器房贷重新摊还计算器远期利率计算器债券久期计算器 (麦考利和修正)债券凸性计算器固定指数年金计算器变额年金计算器反向抵押贷款计算器年金支付计算器日本算盘模拟器俄罗斯农民乘法吠陀数学技巧计算器古埃及乘法计算器罗马数字数学求解器心算训练器乘法口诀表测验进位与借位可视化工具数的分合生成器硬币应用题求解器距离速度时间三角形计算器工作效率问题求解器混合问题求解器年龄问题求解器火车相遇问题求解器补水计算器配速卡路里计算器药物剂量计算器酒精卡路里计算器身体重塑计算器随机辩论话题生成器随机猫狗名字生成器随机圣经经文生成器随机数学题生成器随机段落生成器随机英文句子生成器砾石、砂和表土计算器钢材重量计算器螺栓扭矩计算器管道流量计算器梁荷载计算器美元换黄金转换器期权概率计算器股票拆分计算器员工持股计划计算器发票滞纳金计算器自由职业者时薪计算器租赁与购买对比计算器高级小费分摊计算器装箱清单生成器时差反应计算器旅行预算计算器飞行距离计算器热损失计算器发电成本计算器用水量计算器家电用电成本计算器家庭能源审计计算器太阳能投资回报率计算器太阳能板计算器堆肥CN比计算器草坪肥料计算器霜冻日期计算器高床种植箱土壤计算器NPK肥料计算器种子发芽率计算器视频比特率计算器音乐调性转换器音乐BPM节拍点击器照片文件大小估算计算器百万像素到打印尺寸计算器裁切系数计算器曝光三角计算器车辆牵引能力计算器汽车租赁计算器0–60与四分之一英里计算器电动车充电时间计算器电动汽车续航计算器汽车油耗计算器服装尺码转换器纸张尺寸参考表戒指尺寸转换器天文单位转换器燃油效率转换器数据传输速率转换器扭矩转换器 (Nm, ft-lb, kgf-cm)删除线文字生成器空白字符可视化工具阅读时间计算器演讲时间计算器段落计数器句子计数器音节计数器文本转二进制/十六进制/ASCII转换器Lorem Picsum / 占位符图片生成器.env 文件生成器Git 命令生成器颜色代码转换器全格式Bcrypt 哈希生成器和校验器JWT生成器CSS Grid 生成器数值积分计算器z变换计算器快速傅里叶变换FFT计算器张量积计算器矩阵指数计算器约当标准形计算器环与域计算器群论阶数计算器常微分方程组求解器伯努利微分方程求解器欧拉方法计算器方向场斜率场绘图器二阶常微分方程求解器一阶常微分方程求解器稳定婚姻问题求解器网络最大流计算器平面图检查器哈密顿路径检查器旅行商问题求解器 TSP线性规划求解器容斥原理计算器递推关系求解器邻接矩阵计算器拓扑排序计算器图着色计算器逻辑门模拟器卡诺图 (K-Map) 求解器布尔代数化简器分拆函数计算器数字根计算器斐波那契数检查器埃及分数计算器莫比乌斯函数计算器哥德巴赫猜想验证器梅森素数检查器孪生素数查找器亲和数检查器完全数检查器模幂运算计算器重复排列计算器效果量计算器相对风险计算器优势比计算器列联表计算器费舍尔精确检验计算器斯皮尔曼等级相关系数计算器贝塔分布计算器威布尔分布计算器指数分布计算器几何分布计算器负二项分布计算器超几何分布计算器F检验/F分布计算器贝叶斯定理计算器特征多项式计算器矩阵幂计算器乔列斯基分解计算器QR分解计算器矩阵对角化计算器克莱姆法则计算器列空间计算器零空间计算器向量夹角计算器单位向量计算器向量模计算器向量叉积计算器向量点积计算器矩阵乘法计算器逆矩阵计算器RREF计算器行最简阶梯形牛顿迭代法计算器雅可比矩阵计算器曲面积分计算器线积分计算器旋度计算器散度计算器梯度计算器多变量优化计算器微积分相关变化率求解器瞬时变化率计算器平均变化率计算器无限级数求和计算器级数收敛判定计算器幂级数计算器麦克劳林级数计算器洛必达法则计算器广义积分计算器辛普森法则计算器梯形法则计算器黎曼和计算器参数曲线绘图器旋转体表面积计算器旋转体体积计算器坐标几何距离计算器海伦公式计算器圆的切线计算器角平分线计算器内切圆计算器三角形外接圆计算器大圆距离计算器3D距离计算器环面计算器圆台计算器不规则多边形面积计算器正多边形计算器圆锥曲线识别器双曲线计算器抛物线计算器二项式定理展开计算器帕斯卡三角形生成器乘积符号计算器 (Pi记号)西格玛求和计算器有理根定理计算器笛卡尔符号法则计算器平行线和垂直线计算器直线方程计算器标准形式转斜截式转换器点斜式计算器非线性方程组求解器有理方程求解器字母方程求解器三角方程求解器指数方程求解器对数方程求解器四次方程求解器三次方程求解器估算计算器数字转分数转换器跳数生成器单位费率计算器上取整和下取整计算器绝对值计算器数列模式查找器位值图生成器运算顺序计算器PEMDAS竖式加减法计算器长乘法计算器乘法表生成器🎮 游戏货币换算器🎲 掉落概率计算器🎰 抽卡保底计算器⚔️ DPS计算器❄️ 雪天计算器🚚 搬家费用估算器🔍 抄袭检测器📷 OCR / 图片文字识别📈 折线图制作工具🥧 饼图制作工具📊 柱状图制作工具🔊 音调发生器🖱️ 点击计数器在线记事本⬛ 宽高比计算器🌍 碳足迹计算器向 文胸尺码计算器轮胎尺寸计算器燃油费用计算器💧 露点计算器🌡️ 体感温度计算器🌬️ 风寒指数计算器⏰ 在线闹钟⏰ 考勤卡计算器📅 日期差计算器🕐 军事时间转换器⏱️ 小时计算器⏱️ 在线秒表⏱️ 倒计时器🌐 时区转换器地毯计算器挡土墙计算器HVAC容量计算器隔热材料计算器铺路石计算器钢筋计算器木材计算器平方英尺计算器交叉相乘计算器五数概括计算器百分位数计算器正态分布计算器p值计算器比率计算器配方法计算器四舍五入计算器长除法计算器Twitter/X 字符计数器YouTube评论抽选器YouTube标签提取器youtube收益估算器随机RPG角色生成器