Ich habe ein Bild wie unten:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw(0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\draw(0,0) arc(-90:90:2);
\draw[dashed](0,0) arc(-90:-270:2);
\draw(0,0) arc(180:90:4);
\draw(0,0) arc(180:90:4);
\draw[dashed](0,0) arc(-180:90:4);
\draw(4,0) arc(-90:-180:4);
\draw[dashed](4,0) arc(-90:180:4);
\end{tikzpicture}
\end{document}
Jetzt möchte ich Schatten auf die drei überlappenden Teile des Bogens zeichnen. Wie mache ich das? Genau wie auf diesem Bild:
Und was ist, wenn ich eine Linie zwischen ABC ziehen möchte? Wie soll ich vorgehen? Vielen Dank!
Antwort1
Abgesehen von der Schattierung der Fülllinien, so etwas wie das hier. Die Füllung können Sie mithilfe \clip
einer scope
Umgebung erstellen. Um die Koordinaten an den Schnittpunkten festzulegen, verwenden Sie die intersections
Bibliothek.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns,intersections}
\begin{document}
\begin{tikzpicture}
\begin{scope}
\clip(0,2) circle (2);
\clip(4,0) circle (4);
\fill[pattern=north west lines,pattern color=red](4,4) circle (4);
\end{scope}
%\draw(0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\draw (0,0) rectangle (4,4);
\draw[name path=left](0,0) arc(-90:90:2);
\draw[dashed](0,0) arc(-90:-270:2);
\draw[name path=lower](0,0) arc(180:90:4);
%\draw(0,0) arc(180:90:4);
\draw[dashed](0,0) arc(-180:90:4);
\draw[name path=upper](4,0) arc(-90:-180:4);
\draw[dashed](4,0) arc(-90:180:4);
%%
\path [name intersections={of=lower and upper}];
\coordinate (A) at (intersection-1);
\path [name intersections={of=left and upper}];
\coordinate (B) at (intersection-1);
\path [name intersections={of=left and lower}];
\coordinate (C) at (intersection-2);
%%
\node[left,red] at (A) {A};
\node[below,red] at (B) {B};
\node[above,red] at (C) {C};
%%
\fill[blue,fill=blue,opacity=0.3] (A)--(B)--(C)--cycle;
\draw[blue,thick] (A)--(B)--(C)--cycle;
\end{tikzpicture}
\end{document}