TikZ:从单点集创建填充多边形

TikZ:从单点集创建填充多边形

我有一个命名点列表(从mark-1mark-26),我想将它们用作多边形的顶点,多边形应填充蓝色。

我不想手动将它们写在路径中,因为它们会在文档的其他版本中发生变化(从 26 变为 20 或类似的)。

我尝试过这个:

\newcommand{\aaa}{
    \foreach \x [count=\xi from 2] in {1,...,25} {(mark-\x) -- (mark-\xi)}
};
\fill[blue] \aaa -- (mark-1) -- cycle;

但似乎\aaa只抓住了最后 2 点(25 和 26)。

更新:由于答案需要一些细节,我使用沿路径的装饰来生成节点:

\begin{scope}[
          every path/.style={
            decoration={
                markings,
                mark=between positions 0.57 and 1.2 step 6pt with {
                    \node[
                          red,
                          %nodes going from mark-1 to mark-26
                          name=mark-\pgfkeysvalueof{/pgf/decoration/mark info/sequence number}
                         ] circle (2pt);
                }
            }
          }
]
    % load base compound path
    \input{img/comp}
\end[scope]

谢谢

答案1

像这样吗?

\documentclass[tikz,border=0.125cm]{standalone}
\begin{document}
\begin{tikzpicture}
% Create random(ish) points
\foreach \i in {1,...,26}
  \fill [opacity=0.5] (360/26*\i:1+rnd*1) circle [radius=.025] coordinate (mark-\i);

% Join them up
\fill [opacity=0.5,blue]
  (mark-1) \foreach \i in {2,...,26}{ -- (mark-\i) } -- cycle;
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容