最小尺寸0.2cm的五边形去哪了?

最小尺寸0.2cm的五边形去哪了?

我想画五个嵌套的五边形。

\documentclass[tikz]{standalone}
\usetikzlibrary {shapes.geometric}
\begin{document}
\begin{tikzpicture}
 \foreach \size in {0.2, 0.4, 0.6, 0.8, 1} {
    \node[regular polygon, draw, regular polygon sides=5, minimum size=\size cm] at (0, 0) {};
  }

\end{tikzpicture}
\end{document}

在此处输入图片描述

但我只看到四个五边形;为什么?如果我改成 \foreach \size in { 0.4, 0.6, 0.8, 1,1.2},那就好了。最小尺寸为 0.2cm 的五边形去哪了?顺便问一下,有没有更好的绘制方法?例如,我想添加一些新顶点,如下例所示。上面的节点形状似乎不太适合进一步操作,例如添加更多顶点或边,除非我在它们的 5 个端点的位置添加新顶点。

在此处输入图片描述

最终的图像如下所示。

![在此处输入图片描述

答案1

它确实在那里,但碰巧被下一个尺寸(0.4 厘米)的五边形覆盖。要查看此设置,请在五边形节点中将选项设置inner sep为零:

\documentclass[tikz]{standalone}
\usetikzlibrary {shapes.geometric}

\begin{document}
    \begin{tikzpicture}
 \foreach \size in {0.2, 0.4, 0.6, 0.8, 1} 
 {
    \node[regular polygon, draw, regular polygon sides=5, 
          minimum size=\size cm, 
          inner sep=0pt]    % <---
          at (0, 0) {};
  }
    \end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

其他答案已经为您提供了所述问题的解决方案(inner sep需要为零,或者您使用了可能不应该使用的形状)。

如果您要绘制图形,则应使用节点作为顶点并用边连接它们。TikZ 甚至有一个额外的库,您无需编写\nodeedge但可以使用特殊语法。该graphs.standard库还提供了方便的图形宏,您也可以在此处使用。

代码

\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs.standard}
\begin{document}
\tikz[line width=.2mm]
  \graph[
    nodes={shape=circle, fill=red, inner sep=+0pt, minimum size=+4pt, outer sep=+0pt},
    n=5, phase=90, counterclockwise, empty nodes,
  ]{
    \foreach \i in {1, ..., 5}{
      subgraph C_n[name=penta\i, radius=\i*2mm]
    },
    \foreach \i in {1, ..., 5}{
      penta1 \i --[bend right=40, looseness=.8] penta5 \i
    }
  };
\end{document}

输出

在此处输入图片描述

答案3

这是绘制它的一种方法。两点说明:

  • 0 度从右边开始,因此为了简单起见,我手动添加了 90 度
  • 我使用了 1 毫米的线宽,以强调您的绘图实际上有多小……

结果

\documentclass[10pt,border=3mm,tikz]{standalone}

\begin{document}
 \begin{tikzpicture}
    \foreach \r in {.2,.4,.6,.8,1}
        \draw[line width=1mm] (90:\r)--(162:\r)--(234:\r)--(306:\r)--(378:\r)--cycle;
 \end{tikzpicture}
\end{document}

相关内容