答案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
递增,直到达到 。例如\i
next - start
end
\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 资源: