¿Cómo rellenar las partes superpuestas de 3 arcos en pgf/tikz?

¿Cómo rellenar las partes superpuestas de 3 arcos en pgf/tikz?

Tengo una foto como la siguiente:

\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}

Ahora dibujaría sombras en las partes superpuestas de 3 arcos, ¿cómo debo hacer esto? Como esta imagen:

¿Y si quiero trazar una línea entre ABC, cómo debo hacerlo? ¡Muchas gracias!

ingrese la descripción de la imagen aquí

Respuesta1

Aparte del sombreado de las líneas de relleno, algo como esto. El relleno lo puedes hacer con un poco de ayuda \clipdentro de un scopeentorno. Para establecer coordenadas en las intersecciones utilice la intersectionsbiblioteca.

\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}

ingrese la descripción de la imagen aquí

información relacionada