Travessias no pacote tikz nós

Travessias no pacote tikz nós

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}

insira a descrição da imagem aqui

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}

insira a descrição da imagem aqui

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:

  1. Por padrão, ele analisa apenas interseções entre caminhos separados. consider self intersections=truesubstitui isso.
  2. 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).
  3. 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=falsedo 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}

Primeira mudança de Reidemeister

informação relacionada