如何使用 TikZ 围绕大圆圈创建一串圆圈(以及如何学习创建这种圆圈)?

如何使用 TikZ 围绕大圆圈创建一串圆圈(以及如何学习创建这种圆圈)?

所以我有两个问题。首先,如何在 Ti 中创建以下图像Z?其次,我可以使用哪些资源来学习 TiZ 自己做这个,我怎么才能理解你的代码呢(如果你能解释一下我将不胜感激:)) 在此处输入图片描述

另外,我该如何将图片输入其中。我试过了,它说图片太大了,但这没有意义,因为它只是一张方格纸的简单图像。当我尝试将 imgur 链接插入框时,它也说失败了。

任何帮助都非常感谢!

答案1

对于第一个答案,TiZ 文档可能是一个很好的起点,特别是教程部分。评论中的链接也提供了很多有趣的资源。这个网站上有很多例子,从非常简单到非常困难。

第二个:图片。你可以用这个简单的代码来实现:

\documentclass[border=2mm,tikz]{standalone}

\begin{document}
\begin{tikzpicture}
\def\R{3}   % Table radius
\def\r{0.5} % Seat radius
% Title
\node at (0,\R+1) {\Large Seats in a round table};
% Table
\draw[thick,fill=brown!30] (0,0) circle (\R);
% Seats (change the number 180 to rotate the seats)
\foreach\i in {1,...,12}  
  \draw[fill=white] (180-30*\i:\R) circle (\r) node {$\i$};
% Center (comment it or remove it if you don't want the center shown)
\fill (0,0) circle (0.5mm);
\end{tikzpicture}
\end{document}

我认为这是不言自明的,但以防万一:

  • 我为半径创建了两个变量\R\r。这样,如果您想更改它们,就不需要在整个代码中寻找它们(在这种情况下不需要太多,但有时可能会更长)。
  • \foreach语句重复下一条指令,对于每个变量的值\i在 (1,...,12) 范围内。因此,它在极点处绘制 12 个圆,其角度是 的函数\i:(180-30*\i如果将值 180 更改为另一个角度,则可以旋转座椅)。照这样,角度将是
180-30*1=150,  180-30*2=120,  ...  ,  180-30*12=-180

最后是这个表格: 在此处输入图片描述

答案2

只是为了好玩,整合了 Juan 的代码:

\documentclass[border=2mm,tikz]{standalone}

\begin{document}
    \begin{tikzpicture}
        \def\R{3}   % Table radius
        \def\r{0.6} % Seat radius
        % Title
        \node at (0,\R+1) {\Large Seats in a round table};
        % Table
        \draw[thick,fill=brown!30] (0,0) circle (\R);
        % Seats (change the number 180 to rotate the seats)
        \foreach\i in {1,...,12}  
        \draw[fill=white] (180-30*\i:\R) circle (\r) node {$\i$};
        % Center (comment it or remove it if you don't want the center shown)
        \fill[green] (0,0) circle (2*\r);
        \draw[-latex] (.4,0) arc (0:120:.4);
        \fill (0,0) circle (0.5mm);
        \foreach\i in {1,...,6}  
        \draw[fill=cyan] (180-60*\i:.9) circle (.2) node {};
    \end{tikzpicture}
\end{document}

结果:

在此处输入图片描述

答案3

截屏

使用库可以非常轻松地构建此类图表chain。这是手册部分的示例Nodes on a chain,稍加修改即可获得与您的结果类似的结果。如果您需要其他修改,请提出要求!

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary {chains}

\begin{document}



\begin{tikzpicture}[start chain=circle placed {at=(\tikzchaincount*30:1.5)}]
\foreach \i in {1,...,12}
\node [on chain,draw,circle,inner sep=0pt,minimum size=15pt] {\i};
\draw (circle-1) -- (circle-10);
\end{tikzpicture}

\end{document} 

答案4

如果您想要在桌子周围有更真实的座位,请尝试此代码(注释行用于对称控制):

\documentclass{article}
\usepackage{tikz,graphicx}
\usetikzlibrary{calc}
\begin{document}
    \noindent
    \begin{tikzpicture}[scale=1]
        \foreach \i in {1,...,12}{
        \draw[line width=4pt,rotate=30*\i,cyan] (5,-1) arc[radius=1, start angle=-80, end angle=80];
        \draw[red] (30*\i:5.3) node {\Large \bf $\i$};
    }
    \draw[line width=3pt,fill=brown!30] (0,0) circle (5);
    \draw[line width=3pt,fill=black] (0,0) circle (.2);
    %\draw[dotted] (0,-7)--(0,7);
    \end{tikzpicture}
\end{document}

代码生成了这张图片:

在此处输入图片描述

相关内容