如何在 TikZ 中绘制两个椭圆,比如一个灰色椭圆,其中心位于 (1,1) 和 (2,2),另一个橙色椭圆,其中心位于 (0,2) 和 (1,3),使得它们有小的重叠部分,颜色在此重叠?
我现在确实能画出圆圈,但在重叠处一个圆圈会盖过另一个圆圈。
答案1
标准方法,即自动混色是[blend group=screen]
在内部使用[transparency group]
,参见手册.pdf23.3 节混合模式。
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}
\begin{scope}[transparency group]
\begin{scope}[blend mode=screen]
\fill[blue] (1,1) ellipse (2 and 1);
\fill[red] (2,2) ellipse (2 and 1);
\end{scope}
\end{scope}
\end{tikzpicture}
\end{document}
使用简写形式的等效且更短的代码[blend group=screen]
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[blend group=screen]
\fill[cyan] (1,1) ellipse (2 and 1);
\fill[magenta] (2,2) ellipse (2 and 1);
\end{tikzpicture}
\end{document}
编辑(由@hpekristiansen)仅显示rgb
选项对加法混合颜色与blend mode=screen
原色混合的影响:
带rgb
选项:
\documentclass[tikz,border=5mm,rgb]{standalone}
\usepackage{xcolor}
\begin{document}
\begin{tikzpicture}[blend group=screen]
\fill[red] ( 90:.6) circle (1);
\fill[green] (210:.6) circle (1);
\fill[blue] (330:.6) circle (1);
\fill[yellow] (2,0) circle(.2); \fill[magenta] (2,.5) circle(.2); \fill[cyan] (2,1) circle(.2);
\end{tikzpicture}
\end{document}
无rgb
选择项:
答案2
\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}
\fill[cyan] (1,1) ellipse (2 and 1);
\fill[orange,opacity=.8] (2,2) ellipse (2 and 1);
\end{tikzpicture}
\begin{tikzpicture}
\fill[cyan] (1,1) ellipse (2 and 1);
\fill[orange] (2,2) ellipse (2 and 1);
\begin{scope}
\clip (1,1) ellipse (2 and 1);
\fill[orange!80!cyan] (2,2) ellipse (2 and 1);
\end{scope}
\end{tikzpicture}
\end{document}
答案3
\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\fill[red, rotate around={45:(1.5,1.5)}, opacity=0.5] (1.5,1.5) ellipse [x radius=sqrt(1.5), y radius=1];
\fill (1,1) circle[radius=0.1] (2,2) circle[radius=0.1];
\fill[green, rotate around={45:(0.5,2.5)}, opacity=0.5] (0.5,2.5) ellipse [x radius=sqrt(1.5), y radius=1];
\fill (0,2) circle[radius=0.1] (1,3) circle[radius=0.1];
\end{tikzpicture}
\end{document}