我想绘制C
和的内部区域not C
。要使用哪些工具?
关于第一条评论的更新
这是我的第一次尝试,我只想将与矩形圆角相对应的填充形状的角弄圆。
使用的代码如下。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\draw[fill, blue]
(0,0) -- (0, 2cm) --
(2.5cm,2cm)
.. controls (1,1) and (1,1) ..
(2cm,0cm);
\draw[fill, orange]
(4cm,0) -- (4cm, 2cm) --
(2.5cm,2cm)
.. controls (1,1) and (1,1) ..
(2cm,0cm);
\draw[ultra thick,rounded corners]
(0,0) rectangle (4cm,2cm);
\end{tikzpicture}
\end{document}
rounded corners
即使我们忽略路径的起始角,在填充的形状上使用也不能令人满意。
一种解决方案是使用一个圆角矩形与一个较小的“贝塞尔”形状重叠来绘制一个填充形状。有没有更简洁的解决方案?
答案1
rounded corners
只能在路径的一部分上使用:
您可以在“路径中间”打开或关闭圆角,并且同一路径中的不同角可以具有不同的角半径:
\begin{tikzpicture} \draw (0,0) [rounded corners=10pt] -- (1,1) -- (2,1) [sharp corners] -- (2,0) [rounded corners=5pt] -- cycle; \end{tikzpicture}
不过,sharp corners
您也可以使用组来代替。
而且由于您只填充一条路径的区域,因此您可以path picture
在此处使用,它会剪切 C 和 C̅ 尖锐区域的角落。
代码
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\draw[fill, blue]
{[rounded corners] (0, 0) -- (0, 2)} % ← a group
-- (2.5, 2)
.. controls (1, 1) and (1, 1) .. (2, 0)
[rounded corners] -- cycle; % ← rest of the path
\draw[fill, orange]
[rounded corners] (4, 0) -- (4, 2)
[sharp corners] -- (2.5, 2) % ← switch back
.. controls (1, 1) and (1, 1) .. (2, 0)
[rounded corners] -- cycle; % ← and forth
\draw[ultra thick,rounded corners]
(0,0) rectangle (4,2);
\end{tikzpicture}
\tikz
\draw[ultra thick,rounded corners]
(0,0) rectangle (4,2)[path picture={
\draw[fill, blue] (0, 0) |- (2.5, 2)
.. controls (1, 1) and (1, 1) .. (2, 0)
-- cycle;
\draw[fill, orange] (4, 0) |- (2.5, 2)
.. controls (1, 1) and (1, 1) .. (2, 0)
-- cycle;
}];
\end{document}