我正在尝试绘制一个填充三角形,其中一个边是弯曲的。当我执行“显而易见”的操作时,我发现弯曲的边缘超出了两端的顶点。
这是一个最小的工作示例。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\coordinate [label=left:{$a$}] (a) at (5, -2);
\coordinate [label=right:{$b$}] (b) at (9, -3);
\coordinate [label=right:{$c$}] (c) at (9,0);
\filldraw [line width=2pt, color=green!70!black, fill=green!15!white] (b) -- (a) to [out=20,in=250] (c) -- (b);
\foreach \point in {a,b,c}
\filldraw [color=green!70!black,fill=green!70!black] (\point) circle (1.5pt);
\end{tikzpicture}
\end{document}
如图所示,边超出了(a)和(c)处的顶点。
提前致谢!
答案1
我想line join=bevel
这就是你要找的东西。
根据 Henri Menke 的评论,最好用 结束路径-- cycle
,这样可以确保此处的线连接与其余角一致。当然,在此示例中,线连接已被圆圈充分覆盖,但这仍然是一种很好的做法 :)
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[line join=bevel]
\coordinate [label=left:{$a$}] (a) at (5, -2);
\coordinate [label=right:{$b$}] (b) at (9, -3);
\coordinate [label=right:{$c$}] (c) at (9,0);
\filldraw [line width=2pt, color=green!70!black, fill=green!15!white] (b) -- (a) to [out=20,in=250] (c) -- cycle;
\foreach \point in {a,b,c}
\filldraw [color=green!70!black,fill=green!70!black] (\point) circle (1.5pt);
\end{tikzpicture}
\end{document}