Knotenpaket: erneut Grenzübergänge verloren

Knotenpaket: erneut Grenzübergänge verloren

Im Grunde habe ich das gleiche Problem wie jemand anderes in der FrageBei kleinen Knoten, die mit TikZ gezeichnet wurden, werden keine Kreuzungen angezeigt.

Ich wollte einen Knoten kleiner machen und dickere Linien haben (dick oder sehr dick): Mein Ergebnis ist auf der linken Seite des Bildes zu sehen. Auf der rechten Seite sind die Kreuzungen in Ordnung und wie sie sein sollten. Ich habe mit end tolerance=1ptund herumgespielt ignore endpoint intersections=false, aber es funktioniert bisher nicht.

\documentclass[12pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing,decorations.pathreplacing,decorations.shapes,decorations.markings,knots}
\begin{document}
\begin{tikzpicture}
\path (-1.2,-2.2)--(1.7,2.2);
\begin{knot}[
scale=0.8,
draft mode=crossings,
consider self intersections=true,
clip  width=1,
flip crossing=6,
flip crossing=4,
flip crossing=7,
flip crossing=2,
line width=2pt,
onlywhenrendering/.style={
    draw=white,
    double=black,
    doubledistance=6pt,
    linecap=round,
},
]
\strand
(-1,0) to[out=90,in=180,looseness=1]
(0,0.5) to[out=0,in=90,looseness=1]
(1.5,-0.5) to[out=-90,in=0,looseness=1] 
(1,-1) --
(-1,-1) to [out=180,in=180,looseness=1]
(-1,1.5) to [out=0,in=90,looseness=1]
(0.5,0.5) --(0.5,-1) to[out=-90,in=-90,looseness=2.9]
(-0.5,-1)--(-0.5,0.5) to[out=90,in=180,looseness=1]
(1,1.5)to[out=0,in=90,looseness=1]
(1.5,0.5)to[out=-90,in=0,looseness=1]
(0,-0.5) to[out=180,in=-90,looseness=1]
(-1,0)
;
\end{knot}
\draw (0,-2.4) node{$8_{17}$};
\begin{scope}[xshift=4cm]
\begin{knot}[
consider self intersections=true,
clip  width=2,
flip crossing=1,
flip crossing=3,
flip crossing=5,
flip crossing=8,
]
\strand
(-1,0) to[out=90,in=180,looseness=1]
(0,0.5) to[out=0,in=90,looseness=1]
(1.5,-0.5) to[out=-90,in=0,looseness=1] 
(1,-1.5) --
(-1,-1.5) to [out=180,in=180,looseness=1]
(-1,2) to [out=0,in=90,looseness=1]
(0.5,1) --(0.5,-1) to[out=-90,in=-90,looseness=2.9]
(-0.5,-1)--(-0.5,1) to[out=90,in=180,looseness=1]
(1,2)to[out=0,in=90,looseness=1]
(1.5,0.5)to[out=-90,in=0,looseness=1]
(0,-0.5) to[out=180,in=-90,looseness=1]
(-1,0)
;
\end{knot}
\draw (0,-2.4) node{Mirror image of $8_{17}$};
\end{scope}
\end{tikzpicture}


\end{document}

Antwort1

Ich weiß nicht, ob dies noch eine relevante Frage ist, aber hier ist trotzdem eine Antwort. Es tut mir leid, dass ich diese Frage nicht früher entdeckt habe (ich bin hier nicht mehr so ​​aktiv wie früher).

Wie dem auch sei, es gibt ein paar Probleme mit Ihrem Code. Eines davon ist die Missachtung von Leerzeichen! Sie sind ziemlich wichtig. Also habe ich sie behoben.

Dann gibt es noch das line cap=round. Das hat am Anfangs- und Endpunkt Ihres Knotens komische Dinge gemacht. Also ist das auch weg.

Die Hauptsache war, dass alle Kreuzungen sehr nahe an den Endpunkten der Segmente in Ihrem Strang lagen. Sie brauchten also ignore endpoint intersections=false. Der end toleranceSchlüssel scheint in Ihrem Bild keinen Unterschied zu machen, aber da Ihre Kreuzungen sehr nahe beieinander liegen, müssen der Clip-Radius und die Clip-Breite sorgfältig eingestellt werden.

Hier ist das Ergebnis, das ich nach einigem Herumspielen mit den Zahlen erhalten habe.

\documentclass[12pt]{standalone}
%\url{http://tex.stackexchange.com/q/241258/86}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing,decorations.pathreplacing,decorations.shapes,decorations.markings,knots}

\begin{document}
\begin{tikzpicture}
\path (-1.2,-2.2)--(1.7,2.2);
\begin{knot}[
scale=0.8,
%draft mode=crossings,
  consider self intersections=true,
  ignore endpoint intersections=false,
%end tolerance=1pt,
clip radius=8pt,
clip width=1,
flip crossing=6,
flip crossing=4,
flip crossing=7,
flip crossing=2,
line width=2pt,
only when rendering/.style={
  white,
  double=black,
  double distance=6pt,
},
]
\strand
(-1,0) to[out=90,in=180,looseness=1]
(0,0.5) to[out=0,in=90,looseness=1]
(1.5,-0.5) to[out=-90,in=0,looseness=1] 
(1,-1) --
(-1,-1) to [out=180,in=180,looseness=1]
(-1,1.5) to [out=0,in=90,looseness=1]
(0.5,0.5) --(0.5,-1) to[out=-90,in=-90,looseness=2.9]
(-0.5,-1)--(-0.5,0.5) to[out=90,in=180,looseness=1]
(1,1.5)to[out=0,in=90,looseness=1]
(1.5,0.5)to[out=-90,in=0,looseness=1]
(0,-0.5) to[out=180,in=-90,looseness=1]
(-1,0)
;
\end{knot}
\draw (0,-2.4) node{$8_{17}$};
\begin{scope}[xshift=4cm]
\begin{knot}[
consider self intersections=true,
clip width=2,
flip crossing=1,
flip crossing=3,
flip crossing=5,
flip crossing=8,
]
\strand
(-1,0) to[out=90,in=180,looseness=1]
(0,0.5) to[out=0,in=90,looseness=1]
(1.5,-0.5) to[out=-90,in=0,looseness=1] 
(1,-1.5) --
(-1,-1.5) to [out=180,in=180,looseness=1]
(-1,2) to [out=0,in=90,looseness=1]
(0.5,1) --(0.5,-1) to[out=-90,in=-90,looseness=2.9]
(-0.5,-1)--(-0.5,1) to[out=90,in=180,looseness=1]
(1,2)to[out=0,in=90,looseness=1]
(1.5,0.5)to[out=-90,in=0,looseness=1]
(0,-0.5) to[out=180,in=-90,looseness=1]
(-1,0)
;
\end{knot}
\draw (0,-2.4) node{Mirror image of $8_{17}$};
\end{scope}
\end{tikzpicture}


\end{document}

Knoten

verwandte Informationen