社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

不用Python/Mathematica!LaTeX这个包搞定所有经典分形绘图

LaTeX工作室 • 1 周前 • 100 次点击  

点击👇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 压缩文件,降低源文件大小。

二、支持绘制的全部分形类型(覆盖数学、自然、混沌三大领域)

(一)经典基础分形

  1. 康托尔集 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}
  1. 谢尔宾斯基系列(\psSier / \psSierCarpet) 分为三角形、空间填充曲线、地毯三类:
  • 三角形:三点坐标定义基底,支持调整采样点数 plotpoints
  • 谢尔宾斯基曲线:空间填充曲线,可控制迭代 n、采样点 N,制作逐点生长动画;
  • 谢尔宾斯基地毯:二维分形方块,支持缩放 scale、基底颜色 baseColor。
  1. 科赫雪花 Koch flake(\psKochflake) 经典雪花分形,可修改缩放 scale、迭代深度 maxIter、初始旋转角度 angle,批量生成不同阶数雪花对比图。

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

(二)复动力系统分形(朱利亚/曼德博集合)

核心命令 \psfractal,是复分析论文标配,迭代公式:

  • Mandelbrot 曼德博集:固定 ,C 随坐标变化,type=Mandel 开启;
  • Julia 朱利亚集:固定常数 C(cx, cy), 取画布坐标;

核心可调参数:

  • baseColor:收敛区域底色;
  • dIter/maxIter:迭代步长、最大迭代次数,控制色彩分层;
  • maxRadius:逃逸判定阈值(推荐设置为距离平方);
  • xWidth/yWidth:矢量图物理尺寸,适配论文版面。

(三)自然仿生分形(植物形态)

  1. 叶序螺旋 Phyllotaxis(\psPhyllotaxis) 复刻向日葵、松果螺旋,遵循斐波那契数螺旋规律;可调螺旋角 angle、单元尺寸 c、迭代总数 maxIter,中心坐标自由偏移。
  2. 巴恩斯利蕨 Fern(\psFern) 分形蕨类,自定义缩放 scale、迭代数量、叶片绿色调,一键生成写实蕨类矢量图。
  3. 分形树 \psPTree / \psFArrow 非平衡二叉分形树,可调基底宽度 xWidth、最小枝宽 minWidth、不平衡系数 c;开启 Color 参数可生成渐变彩色树木,适配生物、几何可视化。

(四)完整斐波那契分形家族(7 套专用命令)

该模块由 Manuel Luque、José L. Ramírez 等学者开发,覆盖各类斐波那契词分形,是离散数学、符号动力学专用工具:

  1. \psFibonacciWord:输出指定阶斐波那契字符序列 
  2. \psFibonacci:绘制斐波那契词分形曲线,支持 juxtaposition 拼接前后阶曲线对比;
  3. \psNewFibonacci:稠密斐波那契词 DFW 衍生曲线,自定义替换规则 morphism;
  4. \psiFibonacci:i 参数广义斐波那契分形;
  5. \pskFibonacci:k 阶斐波那契曲线;
  6. \psBiperiodicFibonacci:双参数周期斐波那契分形;
  7. \psFibonacciPolyominoes:斐波那契多米诺瓷砖,可平面密铺绘图。

(五)空间填充曲线、混沌吸引子

  1. 希尔伯特曲线 Hilbert(\psHilbert 四阶空间填充曲线,支持逐点绘制、填充上色、动态生长动画,常用于图像处理、网格划分配图。

  2. 埃农吸引子 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 在线平台来了,点击领取福利!

www.texhub.com

点击👇LaTeX工作室” 关注公众号



图片

● LaTeX 重制最牛最难《中学数学实验教材》共 6 册-免费下载 - 增加百度网盘

● 2026 最新国家自然科学基金项目 LaTeX 模版,科研党的福音来了!

● MathLive —— 轻松编辑数学公式的宝藏神器!即时渲染、支持 LaTeX 输入,完美公式编辑体验!

●  LaTeX 公式排版超级备忘录 - 各类场景全覆盖

● 高中物理甲种本第一册重制豪华版来了(附全套教材下载)

● LaTeX 重排 838页 《数学分析新讲·三册》




Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/198075