Как заполнить перекрывающиеся части 3 дуг в pgf/tikz?

Как заполнить перекрывающиеся части 3 дуг в pgf/tikz?

У меня есть такая картинка:

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

Теперь я бы нарисовал тень на 3 перекрывающихся дуговых частях, как мне это сделать? Прямо как на этой картинке:

А если я захочу провести линию между ABC, как мне это сделать? Спасибо большое!

введите описание изображения здесь

решение1

Кроме затенения линий заливки, что-то вроде этого. Заливку можно сделать с помощью \clipвнутри scopeокружения. Для задания координат на пересечениях используйте библиотеку intersections.

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

введите описание изображения здесь

Связанный контент