Florilegium:用LaTeX程序化生成花朵的极客实验

Florilegium用LaTeX代码程序化生成花朵,拓展排版工具的生成艺术边界。
GitHub项目Florilegium在Hacker News引发关注,它用LaTeX(很可能基于TikZ/PGF)程序化生成花朵图案,将学术排版工具变为生成艺术的画布。文章分析了其技术路径:通过参数化控制花瓣数量、旋转角度、颜色渐变等,编译出矢量图形,优势在于无限变体、精确可复现、与文档无缝集成。从三个视角阐释其意义:生成艺术的极简主义路线、文档即媒介、开源可复现性。同时指出项目目前更接近概念验证,LaTeX绘图性能和自然感仍有局限,适合LaTeX用户、生成艺术爱好者和教育工作者尝试。
当LaTeX不再排版论文,而是“种花”
大多数人把LaTeX视为学术排版的工具——公式、参考文献、三线表。但GitHub上一个名为Florilegium的项目(据Hacker News推荐,获288点、47条评论)却把它带向了一个意想不到的方向:用LaTeX代码程序化生成花朵图案。项目名“Florilegium”源自拉丁语,意为“花谱”或“选集”,恰好呼应了它的双重身份——既是代码库,也是一本由算法绘制的植物图鉴。
这个项目在Hacker News上引发讨论,本身就说明了一种反差感:用最“学术”的工具做最“自然”的事。它吸引的不仅是LaTeX爱好者,还有对生成艺术、程序化设计感兴趣的技术人群。

程序化花朵:算法如何“开花”
程序化生成(Procedural Generation)并不是新概念,从游戏地形到建筑立面,算法早已能模仿自然。但Florilegium的特殊之处在于约束条件:它运行在LaTeX的绘图生态里(很可能是TikZ或PGF),这意味着每一片花瓣、每一根茎秆都由数学表达式和坐标变换定义,而非手绘或位图。
可以推测,项目通过参数化的方式控制花朵的形态——花瓣数量、旋转角度、颜色渐变、分形层级等,最终编译出矢量图形。这种方式的好处是:无限变体、精确可复现、与文档无缝集成。你可以在论文里插入一朵“算出来的花”,而不必担心分辨率或版权问题。
项目的具体实现细节(如使用的宏包、参数接口)需参考其GitHub仓库,但HN上的讨论热度表明,社区对“LaTeX生成艺术”这一交叉领域抱有真实兴趣。
TikZ 是 LaTeX 中最主流的绘图宏包,基于 PGF 底层引擎,允许用户用命令式语法(如 \draw (0,0) -- (1,1);)绘制矢量图形,并支持循环、变量、坐标变换和自定义函数。与插图不同,TikZ 图形在编译时由 LaTeX 引擎直接解析为 PDF 绘图指令,因此能完美跟随文档缩放、保持清晰,且文件体积极小。Florilegium 若基于 TikZ/PGF,就能利用其数学表达式求值能力(如 \pgfmathparse)来参数化花瓣曲线,并通过 \foreach 批量生成对称结构——这正是“代码即图案”的技术基础。
为什么值得关注:三个技术视角
1. 生成艺术的“极简主义”路线
与Processing、p5.js等创意编程工具相比,LaTeX的绘图能力显得笨重而受限。但正是这种限制催生了独特的审美:代码即图案,编译即创作。Florilegium延续了“算法美学”的传统——从早期计算机艺术到今天的生成式AI,用规则生成复杂形态始终是技术人着迷的命题。
Processing 和 p5.js 是创意编程领域的代表工具:前者基于 Java,后者是 JavaScript 库,两者都提供即时渲染窗口、丰富的图形 API 和活跃的社区示例,适合快速原型和交互式作品。相比之下,LaTeX 绘图没有实时预览,每次修改都需重新编译,且图形能力受限于 PGF 引擎的抽象层级。但正是这种“不便利”构成了不同的创作范式:Processing 偏向探索与迭代,LaTeX 偏向精确与嵌入,两者在生成艺术光谱上各占一端。
2. 文档即媒介
LaTeX的强项是结构化文档。把程序化花朵嵌入PDF,意味着图形可以随文档缩放、保持矢量清晰,甚至根据页面布局自动调整。这对需要插图的技术文档、教育材料或诗集排版来说,是一种优雅的解决方案。
3. 开源与可复现性
项目托管在GitHub上,代码公开可查。任何人都可以克隆、修改参数、生成自己的“花谱”。这种可复现性正是开源社区推崇的价值——HN上的47条评论中,很可能包含了对代码结构、编译性能或扩展性的讨论。
局限与思考
Florilegium目前更像一个概念验证,而非成熟工具。LaTeX的绘图性能有限,复杂花朵可能导致编译缓慢;参数接口是否友好、文档是否完整,也决定了它能否被更广泛的用户采用。另外,程序化生成的花朵在“自然感”上仍有天花板——算法可以模仿形态,但难以捕捉真实植物的随机瑕疵与生长逻辑。
不过,这类项目的意义往往不在实用性,而在于拓展工具的可能性边界。它提醒我们:LaTeX不只是排版工具,也可以是一块画布;代码不只是逻辑,也可以是审美表达。
概念验证(Proof of Concept, PoC)指用于验证某个技术思路或设计是否可行的最小化实现,通常不追求功能完整、性能优化或用户体验,而是聚焦于核心机制的演示。在开源社区中,大量项目以 PoC 形态发布,目的是快速获得反馈、吸引贡献者或记录灵感。Florilegium 被描述为概念验证,意味着它当前的价值更多在于展示“LaTeX 能做什么”,而非提供开箱即用的生产级工具——读者应据此调整预期,关注其启发意义而非直接套用。
适合谁去尝试
- LaTeX重度用户:想在文档里加入独特矢量插图的人。
- 生成艺术爱好者:对算法美学、程序化设计感兴趣,愿意尝试非主流工具。
- 教育工作者:可以用它演示“数学与艺术”的结合,激发学生兴趣。
如果你好奇代码如何“开花”,不妨去GitHub仓库看看——也许下一朵花,就开在你的PDF里。
相关推荐

笔记本CPU跑本地大模型:Ollama+千问3给桌宠装大脑
普通笔记本没显卡也能跑本地大模型:B站UP主用Ollama加开源千问3 8B纯CPU运行,为原创桌宠小金娘装上本地大脑,配合DeepSeekHarness完成插件开发与三轮调试,模型0元、断网可用、隐私不出本机。

Mistral Large 4开源权重发布:1万亿参数,激活49亿
Mistral Large 4开源权重发布:约1万亿参数、激活约49亿,支持图文与百万级上下文。解析厂商自测的编码与网络安全数据、修改版宽松许可、数据中心级硬件门槛,以及权重公开后不可回收的安全风险。

AgentScope 2.0实战:Java企业级AI Agent开发指南
AgentScope 2.0是阿里巴巴推出的Java企业级分布式智能体框架。本文解析它为何适合服务端AI应用,对比客户端AI应用在权限、状态管理、并发上的差异,并梳理从环境配置到项目联调的实战学习路线。