Desaparecendo com sobreposição

Desaparecendo com sobreposição

insira a descrição da imagem aqui

Esta é a imagem de um disco, feito de uma fina camada de plástico derretido, e depois do mesmo disco depois de esticá-lo e dobrá-lo para se sobrepor: o disco deformado. Gostaria de deixar claro ao visualizador qual parte do disco original vai para onde no disco deformado. Acho que essa imagem seria mais fácil de entender com um pequeno desbotamento do disco e do disco deformado, mas não consigo fazer com que o disco deformado desapareça, provavelmente porque ele se sobrepõe.

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\newcommand*{\NNN}{300}
\newcommand*{\XXX}{.9}
\newcommand*{\YYY}{4}
\newcommand*{\x}{cos(2*pi*\i/\NNN r)}
\newcommand*{\y}{sin(2*pi*\i/\NNN r)}
\newcommand*{\xp}{cos(2*pi*(\i+1)/\NNN r)}
\newcommand*{\yp}{sin(2*pi*(\i+1)/\NNN r)}
\fill[gray!20,draw=gray!30,ultra thick] (-4,0) circle (1cm);
\node at (-2.5,0) {\({}\to{}\)};
\fill[gray!40,draw=gray!30,ultra thick] ({exp(\XXX)},0)
\foreach \i in {0,...,\NNN}
{
-- ({exp(\XXX*\xp)*cos(\YYY*\yp r)},{exp(\XXX*\xp)*sin(\YYY*\yp r)})
} -- cycle;
\fill[gray!20,draw=gray!30,ultra thick,even odd rule] ({exp(\XXX)},0)
\foreach \i in {0,...,\NNN}
{
-- ({exp(\XXX*\xp)*cos(\YYY*\yp r)},{exp(\XXX*\xp)*sin(\YYY*\yp r)})
} -- cycle;
\end{tikzpicture}
\end{document}

Responder1

Você pode usar a preactionopção para evitar o cálculo duplo. Você pode declare functionsimplificar a fórmula.

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
  \def\NNN{200}
  \def\XXX{.9}
  \def\YYY{4}
  \tikzset{
    declare function={
      x(\i) = cos(2*pi*\i/\NNN r);
      y(\i) = sin(2*pi*\i/\NNN r);
    },
  }
  \path[fill=gray!20,draw=gray,ultra thick] (-4,0) circle (1cm);
  \draw[-latex] (-2.7,0) -- (-2.3,0);
  \path[fill=gray!20,draw=gray,ultra thick,even odd rule,
        preaction={fill=gray!40,nonzero rule}]
  ({exp(\XXX)},0) \foreach \i in {0,...,\NNN} {
    -- ({exp(\XXX*x(\i+1))*cos(\YYY*y(\i+1) r)},
        {exp(\XXX*x(\i+1))*sin(\YYY*y(\i+1) r)})
  } -- cycle;
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada