
Necesito ayuda sobre cómo funciona TikZ.nonzero rule
obras. Dice que cuenta el número de cruces de un rayo a partir de algunos puntos. Elejemplo oficial fill
con un triángulo y un círculome ha perdido, porque la intersección entre el triángulo y el círculo no está llena.
Para entender esto, adapté ese ejemplo y agregué un segundo ejemplo de dos 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}
Tengo dificultades para entender lo siguiente:
- En el primer ejemplo, la parte de intersección NO está llena.
- En el segundo ejemplo, la parte de intersección está llena.
porque el número de cruces es el mismo. ¿Puedes explicar por qué sucede eso?
Respuesta1
Se corrigió la dirección de dibujo de los círculos invirtiéndola con[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}