
두 개의 모양이 있고 원형 모양(예: ellipse
)을 추가하고 싶다고 가정합니다. 아래 스케치처럼 다른 모양 사이에 맞도록 이 타원을 자르려면 어떻게 해야 합니까? 하지만 빈 공간을 투명하게 유지하고 싶기 때문에 모양 주위에 흰색 테두리를 추가하고 싶지 않습니다.
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}
편집하다:위 예의 직사각형 모양은 너무 구체적일 수 있으므로 제가 달성하고자 하는 것에 대한 좀 더 복잡한 예를 제시하고 싶습니다. 이번에는 더 복잡한 모양이 my 와 겹쳐집니다 ellipse
.
답변1
\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}
편집하다:다음을 사용하여 업데이트된 질문을 달성하는 한 가지 방법은 다음과 같습니다 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}