![填充两条曲线之间的区域](https://linux22.com/image/450952/%E5%A1%AB%E5%85%85%E4%B8%A4%E6%9D%A1%E6%9B%B2%E7%BA%BF%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8C%BA%E5%9F%9F.png)
我正在尝试填充两个圆圈之间、路径 A 和 B 之间的小区域(在代码中),您能帮帮我吗?
\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}
\draw [domain=0:360] plot [smooth] ({1.5*cos(\x)}, {1.5*sin(\x)});
\draw [domain=0:360] plot [smooth] ({2.55*cos(\x)}, {2.55*sin(\x)});
\draw [name path=A](2.20836478,1.275)to[out=-60,in=-20](1.299038106,0.75);
\draw [name path=B] (2.20836478,-1.275)to[out=60,in=20](1.299038106,-0.75);
\end{tikzpicture}
\end{document}
答案1
据我所知,该fill
操作适用于一钛钾Z 语句中必须包含要填充的整个路径(Ti钾Z 用直线将其闭合(如果它尚未闭合)。我没能通过与操作相关的参数图获得完美的结果to
——在我最好的尝试中,只剩下一条细细的直线。但是,以下代码使用该arc
操作执行相同的几何构造,结果比插值图更好plot
(据我所知,结果输出比插值图更接近实际圆弧)。请注意极坐标的方便使用。
\documentclass[tikz,border=2mm]{standalone}
\begin{document}
\begin{tikzpicture}
\fill (30:2.55cm)
arc[start angle=30, end angle=330, radius=2.55cm]
to[out=60, in=20] (330:1.5cm)
arc[start angle=330, end angle=30, radius=1.5cm]
to[out=-20, in=-60] cycle;
\end{tikzpicture}
\end{document}
从之前的问题中,我似乎记得你想用图案填充这个“豆子”,所以这里是使用pattern={Lines[angle=45, distance=4pt]}
Tipatterns.meta
钾Z 库:
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{patterns.meta}
\begin{document}
\begin{tikzpicture}
\filldraw[pattern={Lines[angle=45, distance=4pt]}] (30:2.55cm)
arc[start angle=30, end angle=330, radius=2.55cm]
to[out=60, in=20] (330:1.5cm)
arc[start angle=330, end angle=30, radius=1.5cm]
to[out=-20, in=-60] cycle;
\end{tikzpicture}
\end{document}
PS:我的代码和您的代码都没有使用pgfplots
,因此我删除了\usepackage{pgfplots}
和\usepgfplotslibrary{fillbetween}
行。