生成各种魔法阵

生成各种魔法阵

魔法圈示例

魔法阵是仪式魔法的可视化形式,包括对称性、模糊符号、圆圈、平行线和多边形。虽然这些圆圈可能是手工布置的,但应该可以用 (La)TeX 创建魔法阵。魔法阵可以有各种各样的样式,所以不要局限于这一款。

如何用 (La)Tex 创建各种神奇的圆圈?

这可以通过现有的包、特定领域的语言或随机生成的东西来实现。

答案1

这是一个帮助您入门的简单示例。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{marvosym}  % star signs
\usetikzlibrary{shapes.geometric}
\begin{document}
    \begin{tikzpicture}
        % Draw two large circles
        \draw (0, 0) circle [radius=10cm];
        \draw (0, 0) circle [radius=10.5cm];
        % Draw double square
        \draw (45:10) rectangle (-135:10);
        \draw (45:9.8) rectangle (-135:9.8);
        % Other two double squares are the same but rotated by 30 and 60 degrees
        \draw[rotate=30] (45:10) rectangle (-135:10);
        \draw[rotate=30] (45:9.8) rectangle (-135:9.8);
        \draw[rotate=60] (45:10) rectangle (-135:10);
        \draw[rotate=60] (45:9.8) rectangle (-135:9.8);
        % Circle within squares
        \draw (0, 0) circle[radius=6.929cm]; % radius = 9.8*sin(45)
        % Star
        \node[star, star point height=3.5cm, minimum size=2*6.929cm, draw] at (0, 0) {};
        % Double circle within star
        \draw (0, 0) circle [radius=3.41cm];  % radius by trial and error
        \draw (0, 0) circle [radius=3.1cm];
        % Radial lines in double circle every 10 degrees
        \foreach \a in {0, 10, ..., 350} {
            \draw (\a:3.1) -- (\a:3.41);
        }
        % star signs every 30 degrees
        \foreach \i in {1, 2, ...,12} {
            \node at (\i*30:9.3) {\Huge\Zodiac{\i}};  % \Huge makes the star signs larger
        }
    \end{tikzpicture}
\end{document}

这里使用的两个包蒂克兹对于大部分的绘画和马尔沃西姆为星座。

这里有两个坐标系很有用。笛卡尔坐标在 Tikz 中给出(a, b)极坐标对应(angle:radius)于笛卡尔坐标(radius*cos(angle), radius*sin(angle))

此绘图使用的关键 tikz 命令如下:

\draw (a, b) -- (c, d);

(a, b)从到画一条直线(c, d)。\draw (a, b) circle [radius=xcm]; 画一个以 为圆心,(a, b)半径x以厘米为单位的圆。

\draw (a, b) rectangle (c, d);

绘制一个对角为 和 的矩形(a, b)(c, d)如果 ,也可以用于正方形|a - c| = |b - d|

\node[star, star point height=xcm, minimum size=ycm, draw] at (a, b)

绘制一个以为中心的星形,(a, b)其直径y以厘米为单位,点长度x以厘米为单位。

\foreach \i in {start, next, ..., end} {
    % Something with \i
}

循环遍历\i从 开始的值,\i = start然后以 的步长\i = next递增,直到达到 。例如\inext - startend

\foreach {1, 3, ..., 9} {
    \draw (0, 0) circle [radius=\i cm];
}

绘制以(0, 0)1、3、6 和 9 为圆心或半径的圆。

marvosym可以使用\Zodiac{n}for来访问 12 个星座n=1,...,12

基本魔法阵

请注意,边界框只是来自屏幕截图,它不是绘图的一部分。

有用的 Tikz 资源:

相关内容