일련의 좌표가 주어지면 이 세트의 경계 "방울"을 생성하고 싶습니다.
내가 얻은 가장 가까운 것은 이것이다(놀랍게도 간단하다):
\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}
다음을 생성합니다.
여기에는 두 가지 문제가 있습니다.
- 플롯은 노드 주변이 아닌 노드를 통과합니다.
.north
이 문제를 어느 정도 수정하기 위해 수정자를 사용할 수 있지만 이는 매우 지루합니다. - 올바른 결과를 얻으려면 경계 좌표를 적절한 순서로 지정해야 합니다.
TikZ를 사용하여 정렬되지 않은 좌표 집합에서 경계 얼룩을 계산하려면 어떻게 해야 합니까?
답변1
순서를 지정하려는 경우 이를 달성하는 매우 쉬운 방법이 있습니다.
\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}
추신. 같은 트릭이 사용됩니다여기
PS2. 나는 개인적으로 TeX에 구현된 볼록 껍질 알고리즘을 본 적이 없습니다. 무슨 뜻인지 명확히 해주실 수 있나요?정렬되지 않은 좌표?