加倍后填充错误区域

加倍后填充错误区域

绕路径两圈后,填充注释时\fill填充了错误的区域,请问我该如何填充里面的内容呢?

\documentclass[tikz,border=2mm]{standalone}    
\def\A{(2,1) to[out=80,in=0] (0,3) }

\begin{document}    
\begin{tikzpicture}[line join=round, line cap= round]
\begin{scope}
\draw[double, double distance=1cm] \A;
\fill[fill=black] \A;
\end{scope}
\draw \A;
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

正如@Rmano解释,你问 TiZ 填充由 定义的开曲线(2,1) to[out=80,in=0] (0,3),因此 TiZ 通过使用直线连接端点来闭合曲线,然后填充它。

为了用黑色填充“豆子”,你可以通过:使用键时,double=black这将内部颜色设置为(参见blackdouble distanceZ 和 PFG 手册§15.3.4,图形参数:双线和边框线)。

\documentclass[tikz,border=2mm]{standalone}

\begin{document}
\begin{tikzpicture}[line cap=round]
\draw[double=black, double distance=1cm] (2,1) to[out=80,in=0] (0,3);
\end{tikzpicture}
\end{document}

在此处输入图片描述

但正如@mickep著名的\draw,使用简单的大笔就可以获得类似的效果(相同?) :

\documentclass[tikz,border=2mm]{standalone}

\begin{document}
\begin{tikzpicture}[line cap=round]
\draw[line width=1cm] (2,1) to[out=80,in=0] (0,3);
\end{tikzpicture}
\end{document}

在此处输入图片描述

注意:我line join=round在这两种情况下都删除了,因为它似乎没有改变任何东西。

相关内容