点击👇“LaTeX工作室” 关注公众号
精致科研生活从这里开始
theme: custom-1770525044534-1q8pqwbp7 themeName: "css-blue" title: "分形宏包"
今天我们要介绍的主角——pst-fractal,就是那个能让你用代码“编织”出复杂分形图案的 LaTeX 宝藏宏包!
什么是 pst-fractal?
pst-fractal 是由 Herbert Voß 开发、基于 PSTricks 的 LaTeX 专业分形绘图宏包,当前最新版本 v0.13(文档更新至 2026 年 6 月),原生集成在 TeX Live、MikTeX 发行版,遵循 LPPL 开源协议,专为数学、物理、计算机论文绘制高精度分形图像而生。

不同于 Tikz 有限的分形支持,pst-fractal 依托 PostScript 底层渲染,覆盖 近 20 大类经典分形、自然分形、斐波那契衍生分形、混沌吸引子,支持自定义迭代深度、色彩、尺寸、旋转角度,甚至原生支持分形动态动画;唯一门槛是编译需使用 xelatex/latex+dvips,不支持纯 pdflatex。
文档配套近百份可直接运行的 .tex 示例代码,无外部图片依赖即可输出矢量高清图;唯一缺点是高迭代次数文件体积偏大,官方推荐搭配 hvextern 导出外部 PNG/PDF 压缩文件,降低源文件大小。
二、支持绘制的全部分形类型(覆盖数学、自然、混沌三大领域)
(一)经典基础分形
- 康托尔集 Cantor set(\psCantor) 一维自相似分形,默认沿 y 轴负方向绘制,可自定义线宽、颜色、迭代层数 n、横向宽度 xWidth、纵向间距 yWidth,适合集合论、实分析配图。 基础示例代码:
\usepackage[dvipsnames,svgnames]{pstricks}
\usepackage{pst-fractal}
\begin{pspicture}(10,-2)
\psCantor[linewidth=3mm,linecolor=red,n=7,xWidth=11,yWidth=4mm]
\end{pspicture}

- 谢尔宾斯基系列(\psSier / \psSierCarpet) 分为三角形、空间填充曲线、地毯三类:
- 三角形:三点坐标定义基底,支持调整采样点数
plotpoints; - 谢尔宾斯基曲线:空间填充曲线,可控制迭代 n、采样点 N,制作逐点生长动画;
- 谢尔宾斯基地毯:二维分形方块,支持缩放 scale、基底颜色 baseColor。


科赫雪花 Koch flake(\psKochflake) 经典雪花分形,可修改缩放 scale、迭代深度 maxIter、初始旋转角度 angle,批量生成不同阶数雪花对比图。

阿波罗尼奥斯圆 Apollonius circles(\psAppolonius) 相切圆分形,支持自定义半径 Radius、彩色填充 Color,适合几何复分析配图。

(二)复动力系统分形(朱利亚/曼德博集合)
核心命令 \psfractal,是复分析论文标配,迭代公式:
- Mandelbrot 曼德博集:固定 ,C 随坐标变化,
type=Mandel 开启; - Julia 朱利亚集:固定常数 C(cx, cy), 取画布坐标;
核心可调参数:
-
dIter/maxIter:迭代步长、最大迭代次数,控制色彩分层;
- maxRadius:逃逸判定阈值(推荐设置为距离平方);
- xWidth/yWidth:矢量图物理尺寸,适配论文版面。

(三)自然仿生分形(植物形态)
- 叶序螺旋 Phyllotaxis(\psPhyllotaxis) 复刻向日葵、松果螺旋,遵循斐波那契数螺旋规律;可调螺旋角 angle、单元尺寸 c、迭代总数 maxIter,中心坐标自由偏移。
- 巴恩斯利蕨 Fern(\psFern) 分形蕨类,自定义缩放 scale、迭代数量、叶片绿色调,一键生成写实蕨类矢量图。
- 分形树 \psPTree / \psFArrow 非平衡二叉分形树,可调基底宽度 xWidth、最小枝宽 minWidth、不平衡系数 c;开启 Color 参数可生成渐变彩色树木,适配生物、几何可视化。
(四)完整斐波那契分形家族(7 套专用命令)
该模块由 Manuel Luque、José L. Ramírez 等学者开发,覆盖各类斐波那契词分形,是离散数学、符号动力学专用工具:
\psFibonacciWord:输出指定阶斐波那契字符序列 ;\psFibonacci:绘制斐波那契词分形曲线,支持 juxtaposition 拼接前后阶曲线对比;\psNewFibonacci:稠密斐波那契词 DFW 衍生曲线,自定义替换规则 morphism;\psiFibonacci:i 参数广义斐波那契分形;\psBiperiodicFibonacci:双参数周期斐波那契分形;\psFibonacciPolyominoes:斐波那契多米诺瓷砖,可平面密铺绘图。

(五)空间填充曲线、混沌吸引子
希尔伯特曲线 Hilbert(\psHilbert) 四阶空间填充曲线,支持逐点绘制、填充上色、动态生长动画,常用于图像处理、网格划分配图。
埃农吸引子 Henon Attractor(\psHenon) 经典二维混沌系统,支持黑白/彩色像素渲染,可添加标注、轨道箭头,非线性动力学论文专用。

三、核心通用参数与动画能力
1. 全局通用可调参数
- 图形尺寸:unit、xWidth、yWidth、scale;
- 样式:linewidth、linecolor、fillcolor、fillstyle;
- 迭代控制:n(基础迭代层数)、maxIter(最大迭代)、dIter(色彩步长);
- 色彩:baseColor、Color(渐变开关)、dotcolor(散点颜色);
- 采样:plotpoints、N(仅绘制前 N 个点,用于动画)。
2. 原生动画支持
包深度兼容 animateinline 宏包,可快速制作分形生长动画:
- 埃农吸引子轨道演化; 仅需
\multiframe 循环修改 N(采样点数),导出矢量动画 PDF,无需第三方绘图软件。
四、使用入门:最简编译模板
基础文档框架
\documentclass{article}
\usepackage[dvipsnames,svgnames]{pstricks}
\usepackage{pst-fractal} % 加载分形包
\usepackage{multido} % 批量绘图/动画依赖
\begin{document}
% 绘制曼德博集合示例
\begin{pspicture}(-2,-1.2)(1,1.2)
\psfractal[type=Mandel,xWidth=6cm,yWidth=4.8cm,baseColor=white,dIter=10]
\end{pspicture}
\end{document}
编译指令
必须使用支持 PostScript 的编译器:
xelatex 文件名.tex
高迭代大图建议启用 hvextern 分离外部图像,减小 PDF 体积。
pst-fractal 作为 PSTricks 生态重量级拓展包,官方文档长达 63 页,附带 80+份完整示例代码(fractal-01~fractal-93),覆盖所有命令与参数组合;若追求轻量化编译,可降低 maxIter、n 等迭代参数,平衡渲染速度与图像精细度。
地址:https://www.ctan.org/pkg/pst-fractal
更懂中文用户的 LaTeX 在线平台来了,点击领取福利!