有人可以帮我画这样的东西吗:
我尝试过的:
\documentclass[border={10}]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[x=10pt,y=10pt,>=stealth, scale=.75]
\draw[fill=white] (-6,4) .. controls (-3,6) and (1,6) .. (3,4) ..
controls (3.5,3.5) and (5,-8) .. (2.5,-10) .. controls (1,-11) and
(-1,-11.5) .. (-4,-11) .. controls (-8,-10) and (-9,-8) .. (-6,4);
\end{tikzpicture}
\begin{tikzpicture}[x=10pt,y=10pt,>=stealth, scale=.75]
\draw[fill=white] (-6,4) .. controls (-3,6) and (1,6) .. (3,4) ..
controls (3.5,3.5) and (5,-8) .. (2.5,-10) .. controls (1,-11) and
(-1,-11.5) .. (-4,-11) .. controls (-8,-10) and (-9,-8) .. (-6,4);
\end{tikzpicture}
\end{document}
这是两个外部轮廓...我不知道如何放置箭头或内部轮廓。
答案1
如果您需要平滑的曲线,请考虑使用该Hobby
库。
效率不高,但希望不言自明。我假设你想绘制所需的内部斑点。在这里,我只是随意画一个然后复制。
重点是箭头。将 blob 放入local bounding box
es 中以便命名。然后使用它们的锚点来定义箭头的起点和终点。
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[x=10pt, y=10pt, >=Stealth]
\draw (-6,4) .. controls (-3,6) and (1,6) .. (3,4) .. controls (3.5,3.5) and (5,-8) .. (2.5,-10) .. controls (1,-11) and (-1,-11.5) .. (-4,-11) .. controls (-8,-10) and (-9,-8) .. cycle;
\coordinate (a) at (current bounding box.center);
\scoped[local bounding box=E]{\draw (a) ++(-2,4) [out=80, in=-150] to ++(-.5,1.5) [out=30, in=45] to ++(5,-4) [out=-135, in=10] to ++(-2.5,-2) [out=170, in=-100] to cycle;}
\begin{scope}[yscale=-1, xscale=-1, local bounding box=A]
\draw (a) ++(-1,6) [out=80, in=-150] to ++(-.5,1.5) [out=30, in=45] to ++(5,-4) [out=-135, in=10] to ++(-2.5,-2) [out=170, in=-100] to cycle;
\end{scope}
\begin{scope}[xshift=150pt, local bounding box=B]
\draw (-6,4) .. controls (-3,6) and (1,6) .. (3,4) .. controls (3.5,3.5) and (5,-8) .. (2.5,-10) .. controls (1,-11) and (-1,-11.5) .. (-4,-11) .. controls (-8,-10) and (-9,-8) .. cycle;
\coordinate (b) at ([xshift=150pt]a);
\scoped[rotate=115, local bounding box=C]{\draw (b) ++(2,-1) [out=80, in=-150] to ++(-.5,1.5) [out=30, in=45] to ++(5,-4) [out=-135, in=10] to ++(-2.5,-2) [out=170, in=-100] to cycle;}
\begin{scope}[yscale=1, xscale=-1, rotate=160, local bounding box=D]
\draw (b) ++(-1,6) [out=80, in=-150] to ++(-.5,1.5) [out=30, in=45] to ++(5,-4) [out=-135, in=10] to ++(-2.5,-2) [out=170, in=-100] to cycle;
\end{scope}
\end{scope}
\draw (A.center) [bend left, ->] to (D.center);
\draw (E.center) [bend right, ->] to (C.center);
\draw (E.north east) [bend left, ->] to (C.west |- E.north);
\end{tikzpicture}
\end{document}