Como posso criar um cruzamento na imagem abaixo? Tentei seguir exemplos nomanual para o pacote 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}
EDIT: Estou tentando ilustrar o primeiro movimento de Reidemeister. Respondendo ao comentário de Andrew, modifiquei meu código para que o cruzamento não fique no ponto final de uma seção e o cruzamento tenha tangentes em direções diferentes. No entanto, o problema ainda persiste:
\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}
Responder1
Encontrar as interseções em um diagrama de nós é um processo demorado, portanto a biblioteca de nós faz algumas otimizações, que podem ser desativadas se necessário. Estes são:
- Por padrão, ele analisa apenas interseções entre caminhos separados.
consider self intersections=true
substitui isso. - Ao olhar para auto-interseções, é necessário dividir o caminho em seções e considerar as interseções entre essas seções. Seções sucessivas obviamente se cruzam em seus pontos finais, estas são consideradas interseções falsas e excluiriam as desejadas, portanto, por padrão, ignora as interseções que estão próximas do ponto final de uma seção. O que ele considera "próximo" é determinado por
end tolerance=<dimen>
(para simplificar, ele usa a norma l ^ 1). - Ignorar interseções de endpoint pode ser totalmente desabilitado pela chave
ignore endpoint intersections=false
.
Aqui estão três soluções. O primeiro ajusta o caminho para que a interseção não fique próxima de um ponto final da seção (ou seja, perto de um ponto especificado no caminho). O segundo utiliza um ajuste menor e ajusta end tolerance=<dimen>
também. O terceiro usa a chave ignore endpoint intersections=false
do caminho original.
\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}