Coloración de la intersección de cuatro círculos con TikZ.

Coloración de la intersección de cuatro círculos con TikZ.

Quiero llenar selectivamente la intersección de cuatro círculos como se muestra a continuación.

lo que quiero

Pude hacer algunas de las intersecciones correctamente pero no pude descubrir cómo hacer las restantes.

Aquí está el MWE y su resultado.

 \documentclass[10pt]{article}
 \usepackage{pgf,tikz}
 \pagestyle{empty}
 \begin{document}
 \begin{tikzpicture}
 \clip(0,0) rectangle (4.2,3);
 \fill [fill=blue] (1.64,1.22) circle (1.16cm);
 \fill[fill=white] (1.34,1.11) circle (0.53cm);
 \fill[fill=blue](2.50,1.71) circle (1.18cm);
 \fill [fill=blue](1.02,1.99) circle (0.82cm);

 \clip [](1.02,1.99) circle (0.82cm);
 \fill [fill=yellow]  (1.34,1.11) circle (0.53cm);


 \clip [] (2.50,1.71) circle (1.18cm);
 \fill [fill=green] (1.34,1.11) circle (0.53cm);

 \clip [] (1.02,1.99) circle (0.82cm);
 \fill [fill=white] (2.50,1.71) circle (1.18cm);

 \clip [] (1.64,1.22) circle (1.16cm);
 \fill [fill=red] (2.50,1.71) circle (1.18cm);

 \clip [] (1.34,1.11) circle (0.53cm);
 \fill [fill=white] (1.02,1.99) circle (0.82cm);


 \clip [] (1.34,1.11) circle (0.53cm);
 \fill [fill=black] (2.50,1.71) circle (1.18cm);
 \end{tikzpicture}
 \end{document}

Cualquier otra sugerencia para dibujarlo de manera más eficiente o sencilla sería bienvenida.

lo que quiero

Respuesta1

Esto llena las intersecciones de manera diferente. Es un poco difícil juzgar a partir de la imagen de BW qué es exactamente lo que desea lograr y pido disculpas de antemano por posibles malas interpretaciones. Tenga en cuenta también que, si desea aplicar un clip determinado solo a algunos trazados/rellenos, debe colocarlo en un alcance. Y podría decirse que es ventajoso almacenar rutas repetidas de alguna manera, siendo una posibilidad insert path.

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}[my circ/.style={insert path={
\ifcase#1
\or
(1.64,1.22) circle (1.16cm)
\or
(2.50,1.71) circle (1.18cm) 
\or
(1.02,1.99) circle (0.82cm)
\or
(1.34,1.11) circle (0.53cm)
\fi}}]
 \clip(0,0) rectangle (4.2,3);
 \fill[blue,my circ/.list={1,2,3}];
 \fill[white,my circ=4];
 \foreach \Y/\Z in {{1,2}/magenta,{1,3}/magenta,{1,2,3}/yellow,{1,2,4}/green,{1,3,4}/orange,
 {2,3,4}/purple,{2,3}/cyan,{1,2,3}/red}
 {\begin{scope}
  \foreach \X in \Y
   {\clip [my circ=\X];}
   \fill[\Z] (0,0) rectangle (4.2,3);
 \end{scope}}
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

En cuanto a su pregunta aclarada: use even odd rule.

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}[my circ/.style={insert path={
\ifcase#1
\or
(1.64,1.22) circle (1.16cm)
\or
(2.50,1.71) circle (1.18cm) 
\or
(1.02,1.99) circle (0.82cm)
\or
(1.34,1.11) circle (0.53cm)
\fi}}]
\fill[even odd rule,my circ/.list={1,2,3,4}];
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Al mirar la pista publicada por @Raaja, descubrí que no usarla scopecausaba que los clips no se renderizaran. Con posibilidades para cada clip, pude lograr la construcción requerida. Aunque la solución no es elegante ni eficiente, tal vez pueda hacerse más fácil o mejor. Aquí va.

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\path
(1.64,1.22) coordinate (C)
(1.34,1.11) coordinate (A)
(2.50,1.71) coordinate (B)
(1.02,1.99) coordinate (D);
\fill [fill=black](B) circle (1.18cm);
\fill [fill=black](C) circle (1.16cm);
\fill [fill=white](A) circle (0.53cm);
\fill [fill=black](D) circle (0.82cm);


\begin{scope}
\draw[clip] (B) circle (1.18cm);
 \fill[white] (C) circle (1.16cm);
\end{scope}

\begin{scope}
\draw[clip] (A) circle (0.53cm);
 \fill[black] (B) circle (1.18cm);
\end{scope}

\begin{scope}%top white corner
\draw[clip] (D) circle (0.82cm);
 \fill[white] (B) circle (1.18cm);    
\end{scope}



\begin{scope}
\draw[clip] (D) circle (0.82cm);
\fill[white] (C) circle (1.16cm);    
\end{scope}    

\begin{scope}
\draw[clip] (A) circle (0.53cm);
\fill [black] (D) circle (0.82cm);    
\end{scope}    

\begin{scope}%
\draw[clip] (B) circle (1.18cm);
\draw[clip] (C) circle (1.16cm);
 \fill[black] (D) circle (0.82cm);    
 \end{scope}


\begin{scope}% centre white triangle
\draw[clip] (B) circle (1.18cm);
\draw[clip] (C) circle (1.16cm);
\draw[clip] (A) circle (0.53cm);
\fill[white] (D) circle (0.82cm);    
\end{scope}
\end{tikzpicture}
\end{document} 

Aunque utilizo cualquier otro color que no sea el negro, produce una imagen con un contorno negro que no puedo eliminar. El uso de cualquier opción clipparece no estar permitido.

ingrese la descripción de la imagen aquí

información relacionada