Uma pergunta sobre a regra diferente de zero do TikZ

Uma pergunta sobre a regra diferente de zero do TikZ

Preciso de ajuda sobre como o TikZ estánonzero rulefunciona. Diz que conta o número de cruzamentos de um raio a partir de alguns pontos. Oexemplo oficial fillcom um triângulo e um círculome perdeu, porque a interseção entre o triângulo e o círculo não está preenchida.

Para entender isso, adaptei esse exemplo e adicionei um segundo exemplo de dois círculos.

\begin{document}
\begin{tikzpicture}
  \filldraw[fill=yellow]
    % Clockwise isoceles right-angled triangle
    (0,0) -- (1,1) -- (2,0) --cycle
    % Small circle centered on the leftmost vertex
    (0,0) circle (.5);

  \draw[->] (0,0) -- (.3,.3);
  \draw[->] (1,1) -- (1.5,.5);
  \draw[->] (2,0) -- (1,0);
  \draw[->] (120:.5) arc (120:90:.5);
  \draw[->] (300:.5) arc (300:270:.5);

  \draw[->] (.2,.1) -- +(0,1) node[above] {crossings: $1+1 = 2$};

  \begin{scope}[yshift=-3cm]
    \filldraw[fill=yellow]
      % Two circles
      (0,0) circle (.5)
      (.5,0) circle (.5);

      \draw[->] (120:.5) arc (120:90:.5);
      \draw[->] (300:.5) arc (300:270:.5);
      \draw[->] (120:.5)+(.5,0) arc (120:90:.5);
      \draw[->] (300:.5)+(.5,0) arc (300:270:.5);
      
    \draw[->] (.2,.1) -- +(0,1) node[above] {crossings: $1+1 = 2$};
  \end{scope}
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Tenho dificuldade em entender o seguinte:

  1. No 1º exemplo, a parte da intersecção NÃO está preenchida.
  2. No 2º exemplo, a parte da intersecção é preenchida.

porque o número de cruzamentos é o mesmo. Você pode explicar por que isso acontece?

Responder1

Corrigida a direção do desenho dos círculos invertendo-a com[x radius=-\r, y radius=\r]

\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\filldraw[fill=yellow]
(0,0) -- (1,1) -- (2,0) --cycle
(0,0) circle[x radius=-0.5, y radius=0.5];
\draw[->] (0,0) -- (.3,.3);
\draw[->] (1,1) -- (1.5,.5);
\draw[->] (2,0) -- (1,0);
\draw[->] (120:.5) arc (120:90:.5);
\draw[->] (300:.5) arc (300:270:.5);
\draw[->] (.2,.1) -- +(0,1) node[above] {crossings: $1+1 = 2$};
\begin{scope}[yshift=-3cm]
\filldraw[fill=yellow]
(0,0) circle[x radius=-0.5, y radius=0.5]
(.5,0) circle[x radius=-0.5, y radius=0.5];
\draw[->] (120:.5) arc (120:90:.5);
\draw[->] (300:.5) arc (300:270:.5);
\draw[->] (120:.5)+(.5,0) arc (120:90:.5);
\draw[->] (300:.5)+(.5,0) arc (300:270:.5);
\draw[->] (.2,.1) -- +(0,1) node[above] {crossings: $1+1 = 2$};
\end{scope}
\end{tikzpicture}
\end{document}

Diagrama com círculos preenchidos e triângulos

informação relacionada