多边形内含另一个多边形

多边形内含另一个多边形

我需要在一个更大的多边形(x)内制作一个多边形(y),如下图所示,但需要将 x 的每个顶点连接到 y 的两个相邻顶点:

在此处输入图片描述 怎么做?

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}

\begin{document}

\begin{tikzpicture}

\node[regular polygon, regular polygon sides=10, minimum size=8cm, draw=black, shape border rotate=30, name=x] at (6,6) {};
\node[regular polygon, regular polygon sides=5, minimum size=5cm, draw=black, shape border rotate=30, name=y] at (6,6) {};
\end{tikzpicture}

\end{document}

答案1

的顶点regular polygon形状可以作为锚点.corner 1.corner 2、... 来访问,我们可以用它们来连接多边形。

为此,我将外部 sep 设置为零,以便锚点位于线的中间,而不是字面上的角尖端。

代码

\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}[
  rp/.style={
    regular polygon, draw, shape border rotate=30, outer sep=+0pt, regular polygon sides={#1}}]
\node[rp=10, minimum size=8cm, name=x] at (6,6) {};
\node[rp= 5, minimum size=5cm, name=y] at (6,6) {};
\draw foreach[
  evaluate={\cornerA=int(2*\c);
            \cornerB=int(\cornerA-1);}] \c in {1,...,5}{
              (x.corner \cornerB) -- (y.corner \c) -- (x.corner \cornerA)};
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容