3

Can somebody help me to draw something like this: enter image description here

What I tried:

\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}

enter image description here

These are the two outside contours... I have no idea how to put the arrows or the inside contours.

CroCo
  • 5,902

1 Answers1

2

If you need smooth curves, consider using the Hobby library.

Not very efficient, but hopefully self-explanatory. I assume you want to draw the internal blobs you need. Here, I just do one arbitrarily and duplicate.

The point is the arrows. The blobs are put in local bounding boxes so that they can be named. Their anchors are then used to define the start and end points of the arrows.

connected blobs

\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}
cfr
  • 198,882