TikZ-Kreuzungsbefehl mit seltsamem Verhalten

TikZ-Kreuzungsbefehl mit seltsamem Verhalten

Ich versuche, einige Knoten an den Schnittpunkten eines Kreises mit einigen Winkelhalbierenden zu platzieren. Die Schnittpunkte verhalten sich jedoch nicht so, wie ich es erwartet hätte.

Der Textfalschsollte am Schnittpunkt von Kreis und grauer Linie platziert werden, befindet sich aber irgendwie an einer scheinbar zufälligen Stelle:

Momentane Situation

Wenn die auskommentierten Zeilen außerdem unkommentiert bleiben, werden beide Schnittpunkte an die exakt gleiche Stelle gesetzt:

Immer noch falsch und seltsam

(Der blaue Text steht allerdings genau dort, wo er hingehört.)

Kann mir jemand erklären, was ich falsch mache? Ich verstehe in beiden Fällen nicht, warum der Knoten an der falschen Stelle platziert wird.

Dank im Voraus!

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,intersections}
\begin{figure}
    \centering
        \begin{tikzpicture}
            \draw[thick,dashed, name path=circ] (2,2) circle (2cm);
            
            \begin{scope}[shift={(2,2)}]
                \filldraw (165:2) node[left=3.5pt] (c) {\large $c$} circle (3pt);
                \filldraw (225:2) node[below=3.5pt] (b) {\large $b$} circle (3pt);
                %\filldraw (135:2) node[above=3.5pt] (a) {\large $a$} circle (3pt);
            \end{scope}  
            
            %\path[shorten >=-0.5cm,-, name path= path1] let \p1=($ (a) !.5! (b) $) in (2,2) -- ($(\p1)+(5,0)$);
            %\draw[name intersections = {of =circ and path1}] (intersection-1) node[blue] (ab) {\Large right};
            \path[shorten <= -0.5cm,-, name path=path3] let \p1=($ (b) !.5! (c) $) in (\p1) edge[gray] (2,2);
            \draw[name intersections={of=circ and path3}] (intersection-1) node (bc) {wrong};
        \end{tikzpicture}
\end{figure}
\end{document}

Antwort1

Stellen Sie zunächst sicher, dass Ihr MWE tatsächlich kompiliert wird, hier fehlt \begin{document}die Tikz-Bibliothek .calc

Zweitens besteht das Problem hier darin, dass \path[shorten <= -0.5cm,-, name path=path3]der shortenTeil nicht zur Länge des Pfads beiträgt (der Teil, der für Berechnungen verwendet werden kann), sondern nur zur angezeigten Version. Daher liegt das zur Berechnung der Schnittmenge verwendete Liniensegment vollständig innerhalb des Kreises und Sie erhalten eine Fehlermeldung, dass es nicht gefunden wurde.

Das scheint zu funktionieren

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections,calc}
\begin{document}
\begin{tikzpicture}
  \draw[thick,dashed, name path=circ] (2,2) circle (2cm);
  
  \begin{scope}[shift={(2,2)}]
    \filldraw (165:2) node[left=3.5pt] (c) {\large $c$} circle (3pt);
    \filldraw (225:2) node[below=3.5pt] (b) {\large $b$} circle (3pt);
    % \filldraw (135:2) node[above=3.5pt] (a) {\large $a$} circle (3pt);
  \end{scope}  
  
  % \path[shorten >=-0.5cm,-, name path= path1] let \p1=($ (a) !.5! (b) $) in (2,2) -- ($(\p1)+(5,0)$);
  % \draw[name intersections = {of =circ and path1}] (intersection-1) node[blue] (ab) {\Large right};
  % \path[shorten <= -0.5cm,-, name path=path3] let \p1=($
  % (b) !.5! (c) $) in (\p1) edge[gray] (2,2);
  
  \coordinate (d) at ($(b) !.5! (c) $);
  \coordinate (o) at (2,2);
  \draw[name path=path3] (o) -- ($(o)!1.5!(d)$);
  \draw[name intersections={of=circ and path3,by=e}] (e) node (bc) {wrong};
\end{tikzpicture}
\end{document}

Ich bin zur Standalone-Klasse gewechselt, da sie für diese Art von Fragen besser geeignet ist. Außerdem habe ich die figureUmgebung entfernt, da sie für diese Frage nicht relevant ist.

verwandte Informationen