如何连接正多边形的顶点?

如何连接正多边形的顶点?

我有一张图,上面只有正方形的 4 个顶点,全部是彩色的。我想连接顶点,使正方形有边。我该怎么做?

我的代码目前如下所示:

\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\begin{document}
    \begin{tikzpicture}[rotate=45]
    \foreach \a in {0,90,180,270} { %\a is the angle variable
    \draw[line width=.7pt,purple,fill=purple] (\a:1.5cm) circle (2pt); }
    \end{tikzpicture}
\end{document}

答案1

可能最简单的方法是将坐标放置在圆的位置,然后将它们连接起来。例如:

\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}[rotate=45]
  \foreach \a in {0,90,180,270} { %\a is the angle variable
    \draw[line width=.7pt,purple,fill=purple] (\a:1.5cm) coordinate (a\a) circle (2pt); }
  \draw [line width=.7pt,purple] (a0) -- (a90) -- (a180) -- (a270) -- cycle;
\end{tikzpicture}
\end{document}

连接点

我认为,您不想在画圆圈的同时画线条,因为您不想让正方形本身被填充。

请注意,就目前情况而言,您的代码不使用您加载的库。但是,您可以使用该库以另一种方式绘制图片,方法是将正方形设为节点,然后在其四个角的锚点处添加圆圈:

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
  \node (s) [minimum width=3cm, minimum height=3cm, regular polygon, regular polygon sides=4, line width=.7pt, draw=purple] {};
  \foreach \i in {north west, north east, south west, south east}
    \draw [fill=purple, purple, line width=.7pt] (s.\i) circle (2pt);
\end{tikzpicture}
\end{document}

输出与上面的输出相同。

相关内容