我想绘制一些自相似分形并突出显示第一次迭代。我能够为谢尔宾斯基三角形做到这一点,尽管我的代码有点丑陋。(本文末尾包含一个最小的工作示例。)
但是如何为谢尔宾斯基地毯、盒形分形、康托尘、科赫曲线等实现类似的结果?谷歌上的 l 系统确实对我有帮助,因为它们通常只在高阶时看起来与分形相似。例如:我可以使用这科赫曲线 l 系统适合我的目的吗?
正如承诺的那样,最终的代码是:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{lindenmayersystems}
\pgfdeclarelindenmayersystem{Sierpinski triangle}{
\symbol{X}{\pgflsystemdrawforward}
\symbol{Y}{\pgflsystemdrawforward}
\rule{X -> X-Y+X+Y-X}
\rule{Y -> YY}
}
\begin{document}
\begin{tikzpicture}
\def\trianglewidth{5.5cm}
\def\level{7}
\fill[black] (0,0) -- ++(0:\trianglewidth) -- ++(120:\trianglewidth) -- cycle;
\path l-system
[l-system={Sierpinski triangle, axiom=X, step=\trianglewidth/(2^\level), order=\level, angle=-120},fill=blue!25];
\path l-system
[l-system={Sierpinski triangle, axiom=X, step=\trianglewidth/(2^1), order=1, angle=-120},fill=white];
\end{tikzpicture}
\end{document}