Dado un conjunto de coordenadas, quiero generar una "mancha" delimitadora de este conjunto.
Lo más cerca que he estado es esto (sorprendentemente simple):
\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}
Que produce:
Esto tiene dos problemas:
- La trama pasa por los nodos en lugar de rodearlos. Podría usar modificadores como
.north
para solucionar este problema hasta cierto punto, pero es muy tedioso. - Tengo que especificar las coordenadas de los límites en el orden adecuado para producir el resultado correcto.
¿Cómo podría usar TikZ para calcular una mancha delimitadora a partir de un conjunto de coordenadas desordenadas?
Respuesta1
Existe una manera extremadamente fácil de lograrlo, si está dispuesto a especificar el orden.
\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}
PD. se usa el mismo trucoaquí
PS2. Personalmente no había visto el algoritmo de casco convexo implementado en TeX. ¿Puedes aclarar lo que quisiste decir concoordenadas desordenadas?