Dadas duas formas que se cruzam, como podemos preencher a área comum a elas no TikZ (ou seja, a área entre seus pontos de interseção).
Aqui, even odd rule
pode não funcionar, pois não se trata de preenchimento alternativo, mas de pontos de interseção.
Observe que para determinar os pontos de intersecção, estou usando a intersections
biblioteca.
No MWE abaixo, como preencho a área entre C
e C'
:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections,through}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (1.25,0.25);
\node (E) [name path=E,draw,circle through=(B)] at (A) {};
\node (F) [name path=F,draw,circle through=(A)] at (B) {};
\path [name intersections={of=E and F, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
\end{tikzpicture}
\end{document}
Responder1
A área comum é obtida recortando um dos círculos e preenchendo o outro.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections,through}
\makeatletter % from https://tex.stackexchange.com/a/127045/121799
\tikzset{use path/.code=\tikz@addmode{\pgfsyssoftpath@setcurrentpath#1}}
\makeatother
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (1.25,0.25);
\node (E) [name path=E,draw,circle through=(B),save path=\pathA] at (A) {};
\node (F) [name path=F,draw,circle through=(A),save path=\pathB] at (B) {};
\begin{scope}
\clip[use path=\pathA];
\fill[blue,use path=\pathB];
\end{scope}
\path [name intersections={of=E and F, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
\end{tikzpicture}
\end{document}
Caso você esteja preocupado com o fato de o contorno do círculo ficar parcialmente pintado, use backgrounds
.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections,through,backgrounds}
\makeatletter % from https://tex.stackexchange.com/a/127045/121799
\tikzset{use path/.code=\tikz@addmode{\pgfsyssoftpath@setcurrentpath#1}}
\makeatother
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (1.25,0.25);
\node (E) [name path=E,draw,circle through=(B),save path=\pathA] at (A) {};
\node (F) [name path=F,draw,circle through=(A),save path=\pathB] at (B) {};
\begin{scope}[on background layer]
\clip[use path=\pathA];
\fill[blue,use path=\pathB];
\end{scope}
\path [name intersections={of=E and F, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
\end{tikzpicture}
\end{document}
Você sempre pode preencher segmentos de interseção. (Você pode combinar isso com o plano de fundo acima.)
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\pgfplotsset{compat=1.16}
\usetikzlibrary{through}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (1.25,0.25);
\node (E) [name path=E,draw,circle through=(B)] at (A) {};
\node (F) [name path=F,draw,circle through=(A)] at (B) {};
\path [name intersections={of=E and F, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
\path[%draw,red,thick,
fill=blue,
intersection segments={of=E and F,sequence={L1--R2--L3}}];
\end{tikzpicture}
\end{document}
(Mesma saída acima.)
A determinação analítica dos arcos é outra possibilidade.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections,through,calc}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (1.25,0.25);
\node (E) [name path=E,draw,circle through=(B)] at (A) {};
\node (F) [name path=F,draw,circle through=(A)] at (B) {};
\path [name intersections={of=E and F, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
\path[fill=blue] let \p1=($(A.center)-(B.center)$),\p2=($(C.center)-(A.center)$),
\p3=($(C'.center)-(A.center)$),\p4=($(C.center)-(B.center)$),
\p5=($(C'.center)-(B.center)$),
\n1={veclen(\x2,\y2)}, % radius A
\n2={veclen(\x4,\y4)}, % radius B
\n3={atan2(\y2,\x2)}, % angle A 1
\n4={atan2(\y3,\x3)}, % angle A 2
\n5={atan2(\y4,\x4)}, % angle B 1
\n6={atan2(\y5,\x5)} % angle B 2
in (C) arc(\n3:\n4:\n1) arc(\n6:\n5-360:\n2);
\end{tikzpicture}
\end{document}