Tikz Kreisbogen durch drei Punkte

Tabellen und Grafiken erstellen und anordnen


AlgGeo

Tikz Kreisbogen durch drei Punkte

Beitrag von AlgGeo »

Code: Alles auswählen

\begin{tikzpicture}
			\coordinate (q) at (4,-3) {};
			\coordinate (t) at (-3,3) {};
			\coordinate (p) at (-5,0) {};
			\coordinate (r) at (3,4) {};
			
			\draw[-] (p) -- (r);
			\draw[-] (p) -- (q);
			\draw[-] (q) -- (r);
			\draw (0,0) circle [radius=5] {};
			

			\node at (-5.5, 0) { $p$ };
			\node at (3.3, 4.2) { $r$ };
			\node at (4.3, -3.2) { $q$ };
			\node at (-3.3, 3.2) { $t$ };
			\node[circle, fill=black, inner sep = 2pt] at (p) {};
			\node[circle, fill=black, inner sep = 2pt] at (q) {};
			\node[circle, fill=black, inner sep = 2pt] at (r) {};
			\node[circle, fill=black, inner sep = 2pt] at (t) {};
			
			\draw[dashed] (p) -- (t) -- (r) 
			pic [draw, "$\alpha$",angle radius=.6cm,angle eccentricity=.5, dashed] {angle=p--t--r};
		\end{tikzpicture}
Ich möchte einen Kreisbogen von p über t nach r ziehen. Kann mir jemand sagen wie ich das möglichst einfach hinbekomme?

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2179
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Dein Beispiel ist unvollständig.

Code: Alles auswählen

\documentclass[tikz, border=5pt]{standalone}
\usetikzlibrary{quotes, angles, calc, through}

\newcommand{\arcThroughThreePoints}[4][]{
    \coordinate (middle1) at ($(#2)!.5!(#3)$);
    \coordinate (middle2) at ($(#3)!.5!(#4)$);
    \coordinate (aux1) at ($(middle1)!1!90:(#3)$);
    \coordinate (aux2) at ($(middle2)!1!90:(#4)$);
    \coordinate (center) at ($(intersection of middle1--aux1 and middle2--aux2)$);
    \draw[#1] 
        let \p1=($(#2)-(center)$),
            \p2=($(#4)-(center)$),
            \n0={veclen(\p1)},%     Radius
            \n1={atan2(\y1,\x1)},%  angles
            \n2={atan2(\y2,\x2)},
            \n3={\n2>\n1?\n2:\n2+360}
        in (#2) arc(\n1:\n3:\n0)
    ;
}

\begin{document}
\begin{tikzpicture}
    \coordinate [label=below right:$q$] (q) at (4,-3);
    \coordinate [label=above left:$t$]  (t) at (-3,3);
    \coordinate [label=below left:$p$]  (p) at (-5,0);
    \coordinate [label=above right:$r$] (r) at (3,4);
    
    \foreach \point in {q,t,p,r}{
        \fill (\point) circle (3pt);
    }
         
    \draw (p) -- (r) -- (q) -- cycle;
    \node [draw, circle through={(p)}] {};
         
    \draw[dashed] (p) -- (t) -- (r)
        pic [draw, "$\alpha$",angle radius=.6cm,angle eccentricity=.5, dashed] {angle=p--t--r}
    ;
    \arcThroughThreePoints[red]{r}{t}{p};
\end{tikzpicture}
\end{document}
Quelle: Antwort von JLDiaz

Antworten