在 Tikz 中绘制一个简单的分形

在 Tikz 中绘制一个简单的分形

我正在尝试在 tikz 中绘制一个不太常见的分形 - 所以我有点卡住了。

它本质上是谢尔宾斯基棺材,但用正方形代替三角形。从(实心)单位正方形开始,移除中心的第 9 个正方形,然后对剩余的 8 个正方形重复此操作。因此,最终会得到大小为 1/9^k 的 8^k 个正方形。

我希望它看起来像这样:在此处输入图片描述

最好‘最后’的图像是第 5 或第 6 阶段,但如果可能的话,一个可定义的结束阶段会很棒(就像 LaTeX 中的其他分形一样)。

答案1

使用lindenmayersystemsTikZ 的。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{lindenmayersystems}
\begin{document}
\begin{tikzpicture}[l-system={step=1pt, order=5, angle=90}]
  \pgfdeclarelindenmayersystem{Sierpinski carpet}{
    \rule{F -> F+F-F-FF-F-F-fF}
    \rule{f -> fff}
  }
  \draw l-system [l-system={Sierpinski carpet, axiom=F}];
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容