
Angenommen, ich habe zwei Formen und möchte eine kreisförmige Form (wie ein ellipse
) hinzufügen. Wie kann ich diese Ellipse zuschneiden, damit sie zwischen die anderen Formen passt, wie unten skizziert? Ich möchte jedoch keine weißen Ränder um die Formen hinzufügen, da ich den leeren Raum transparent halten möchte.
MWE:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill (-4,2) rectangle (-1,1.5);
\fill (-3.5,1.25) rectangle (-0.5,0.75);
\fill (-1.6,1.35) ellipse (0.3);
\end{tikzpicture}
\end{document}
Bearbeiten:Da die Rechteckformen im obigen Beispiel möglicherweise etwas zu spezifisch sind, möchte ich ein komplexeres Beispiel dessen geben, was ich erreichen möchte; dieses Mal mit komplexeren Formen, die meine überlappen ellipse
:
Antwort1
\documentclass[tikz]{standalone}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\pattern[pattern=checkerboard,pattern color=black!30] (-5,0) rectangle (0,3);
\newcommand{\myspace}{0.5}
\fill (-4,2) rectangle (-1,1.5);
\fill (-3.5,1.25) rectangle (-0.5,0.75);
\clip ([yshift=\myspace] -2,1.25) rectangle ([yshift=-\myspace] -1,1.5);
\fill (-1.6,1.35) ellipse (0.3);
\end{tikzpicture}
\end{document}
Bearbeiten:So können Sie die aktualisierte Frage mit erreichen tikzfadingfrompicture
:
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{fadings, patterns}
\begin{tikzfadingfrompicture}[name=myfading]
\draw[draw=transparent!100, ultra thick, fill=transparent!0] (0,0) circle[radius=1];
\draw[draw=transparent!100, ultra thick, fill=transparent!0] (-2,-1) -- (0,0) -- (-1,2.5) -- (-2,2) -- cycle;
\draw[draw=transparent!100, ultra thick, fill=transparent!0] (0,1) ellipse [x radius=0.5, y radius=0.8];
\draw[draw=transparent!100, ultra thick, fill=transparent!0] (0.2,-0.5) -- (1,1.5) -- (2,-0.5) -- cycle;
\draw (0,0) circle[radius=10]; %encompassing circle for alignment
\end{tikzfadingfrompicture}
\begin{document}
\begin{tikzpicture}
\pattern[pattern=checkerboard,pattern color=black!30] (-3,-3) rectangle (3,3);
\fill[path fading=myfading, fit fading=false] (-3,-3) rectangle (3,3);
\end{tikzpicture}
\end{document}