아래 그림에서 교차점을 어떻게 만들 수 있나요? 나는tikz Knots 패키지 매뉴얼.
\documentclass[11pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{knots}
\begin{document}
\begin{tikzpicture}[scale=0.75]
\begin{knot}[clip width=5, clip radius=8pt, consider self intersections]
\strand[thick] (0,0)
to[out=up, in=down] (0,1)
to[out=up, in=left] (0.5,1.5)
to[out=right, in=up] (1,1)
to[out=down, in=right] (0.5,0.5)
to[out=left, in=down] (0,1)
to[out=up, in=down] (0,2);
\end{knot}
\end{tikzpicture}
\end{document}
편집: 첫 번째 Reidemeister 이동을 설명하려고 합니다. Andrew의 의견에 따라 교차점이 단면의 끝점이 아니고 교차점이 다른 방향으로 접선을 갖도록 코드를 수정했습니다. 그러나 문제는 여전히 지속됩니다.
\begin{knot}[clip width=10, clip radius=15pt, consider self intersections]
\strand[thick] (0,0)
to[out=up, in=down] (0,0.7)
to[out=up, in=left] (0.5,1.5)
to[out=right, in=up] (1,1)
to[out=down, in=right] (0.5,0.5)
to[out=left, in=down] (0,1.3)
to[out=up, in=down] (0,2);
\end{knot}
답변1
매듭 다이어그램에서 교차점을 찾는 것은 시간이 많이 걸리는 프로세스이므로 매듭 라이브러리는 몇 가지 최적화를 수행하며 필요한 경우 이를 끌 수 있습니다. 이것들은:
- 기본적으로 별도의 경로 사이의 교차점만 살펴봅니다.
consider self intersections=true
이것을 무시합니다. - 자체 교차점을 볼 때 경로를 섹션으로 분할하고 이러한 섹션 간의 교차점을 고려해야 합니다. 연속적인 섹션은 분명히 끝점에서 교차합니다. 이는 가짜 교차로로 간주되어 원하는 섹션을 밀어내므로 기본적으로 섹션의 끝점 근처에 있는 교차점을 무시합니다. "가까운" 것으로 간주되는 것은
end tolerance=<dimen>
(단순화를 위해 l^1 표준을 사용함)에 의해 결정됩니다. - 끝점 교차점 무시는 키를 사용하여 완전히 비활성화할 수 있습니다
ignore endpoint intersections=false
.
여기에 세 가지 해결책이 있습니다. 첫 번째는 교차점이 단면 끝점 근처(즉, 경로의 지정된 지점 근처)에 있지 않도록 경로를 조정합니다. 두 번째는 더 작은 조정을 사용하고 end tolerance=<dimen>
또한 조정합니다. 세 번째는 ignore endpoint intersections=false
원래 경로의 키를 사용합니다 .
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{knots}
\title{Untitled}
\author{}
\date{2020-11-11}
\begin{document}
\maketitle
\begin{tikzpicture}
\begin{knot}[clip width=10, clip radius=15pt, consider self intersections]
\strand[thick] (0,0)
to[out=up, in=down] (0,0.5)
to[out=up, in=left] (0.5,1.5)
to[out=right, in=up] (1,1)
to[out=down, in=right] (0.5,0.5)
to[out=left, in=down] (0,1.5)
to[out=up, in=down] (0,2);
\end{knot}
\end{tikzpicture}
\begin{tikzpicture}
\begin{knot}[clip width=10, clip radius=15pt, consider self intersections, end tolerance=3pt]
\strand[thick] (0,0)
to[out=up, in=down] (0,0.7)
to[out=up, in=left] (0.5,1.5)
to[out=right, in=up] (1,1)
to[out=down, in=right] (0.5,0.5)
to[out=left, in=down] (0,1.3)
to[out=up, in=down] (0,2);
\end{knot}
\end{tikzpicture}
\begin{tikzpicture}[scale=0.75]
\begin{knot}[clip width=5, clip radius=8pt, consider self intersections, ignore endpoint intersections=false]
\strand[thick] (0,0)
to[out=up, in=down] (0,1)
to[out=up, in=left] (0.5,1.5)
to[out=right, in=up] (1,1)
to[out=down, in=right] (0.5,0.5)
to[out=left, in=down] (0,1)
to[out=up, in=down] (0,2);
\end{knot}
\end{tikzpicture}
\end{document}