Automatisches Erzeugen eines Begrenzungs-"Blobs" aus einem Satz von Koordinaten

Automatisches Erzeugen eines Begrenzungs-"Blobs" aus einem Satz von Koordinaten

Bei einer gegebenen Menge an Koordinaten möchte ich einen begrenzenden „Blob“ dieser Menge erzeugen.

Das Beste, was ich erreicht habe, ist das hier (überraschend einfach):

\documentclass{standalone}
\usepackage{pgfplots}

\begin{document}
  \begin{tikzpicture}
    \node (p1) at (0, 0) {A};
    \node (p2) at (1, 1) {B};
    \node (p3) at (2, 0.5) {C};
    \draw plot [smooth cycle,tension=1] coordinates {(p1) (p2) (p3)};
  \end{tikzpicture}
\end{document}

Das Ergebnis:

Bildbeschreibung hier eingeben

Dies hat zwei Probleme:

  • Die Handlung verläuft durch die Knoten statt um sie herum. Ich könnte Modifikatoren verwenden, um .northdies bis zu einem gewissen Grad zu beheben, aber das ist sehr mühsam.
  • Ich muss die Grenzkoordinaten in der richtigen Reihenfolge angeben, um das richtige Ergebnis zu erhalten.

Wie kann ich mit TikZ einen Begrenzungs-Blob aus einer Reihe ungeordneter Koordinaten berechnen?

Antwort1

Dies lässt sich ganz einfach erreichen, wenn Sie bereit sind, die Reihenfolge festzulegen.

\documentclass{standalone}
\usepackage{pgfplots}

\pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\tikzset{
    expand bubble/.style={
        preaction={draw,line width=10.4pt},
        white,fill,draw,line width=10pt,
    },
}

\begin{document}
  \begin{tikzpicture}
    \node (p1) at (0, 0) {A};
    \node (p2) at (1, 1) {B};
    \node (p3) at (2, 0.5) {C};
    \begin{pgfonlayer}{background}
      \path[expand bubble]plot [smooth cycle,tension=1] coordinates {(p1) (p2) (p3)};
    \end{pgfonlayer}
  \end{tikzpicture}
\end{document}

PS. der gleiche Trick wird verwendetHier

PS2. Ich persönlich habe den konvexen Hüllenalgorithmus noch nicht in TeX implementiert gesehen. Können Sie erklären, was Sie damit meinten?ungeordnete Koordinaten?

verwandte Informationen