The graph I want to draw is shown below:
Regions A and B are represented by shaded lines. To fill the region A is easy. But I don't know how to draw shadows with lines that are near to the closed curve acdcecba.
\documentclass[varwidth]{standalone}
\usepackage{tikz}
\usetikzlibrary{patterns}
\tikzstyle{none}=[inner sep=0mm]
\tikzstyle{blacknode}=[fill=black, draw=black, shape=circle, minimum
size=0.15cm, inner sep=0pt]
\tikzstyle{blackedge}=[-, draw=black, fill=none, line width=0.15mm]
\begin{document}
\begin{tikzpicture}
\node [style=blacknode,label={left:$a$}] (0) at (-7, 3) {};
\node [style=blacknode] (1) at (-3, 3) {};
\node [style=blacknode,label={right:$b$}] (2) at (3, 3) {};
\node [style=none,label={right:$e$}] (3) at (-1, 6.5) {};
\node [style=none] (6) at (-1, 3.5) {};
\node [style=none] (7) at (0.75, 3.5) {};
\node [style=none,label={left:$d$}] (8) at (-3, 6.5) {};
\node (9) at (-1.8, 6.2) {$c$};
\node (9) at (1, 3) {$A$};
\node (9) at (3, 5) {$B$};
\draw (0) to (1);
\draw [in=180, out=60, looseness=0.75] (0) to (3.center);
\draw [bend right=60, looseness=1.25] (0) to (2);
\draw [style=blackedge, in=360, out=120] (2) to (8.center);
\draw[pattern color=red!60,pattern=north east lines](6.center)
to [bend right=330, looseness=1.25] (2.center)
to [bend left] (1.center)
to [bend left, looseness=1.25] (7.center);
\end{tikzpicture}
\end{document}
Edit: Many thanks to Qrrbrbirlbel and Thruston for your answers. I tried to write one myself (another similar example). But it feels like a lot of work as I used some codes a few times. I'd like to simplify this a little bit.
\documentclass[varwidth]{standalone}
\usepackage{tikz}
\usetikzlibrary{patterns}
\tikzstyle{none}=[inner sep=0mm]
\tikzstyle{blacknode}=[fill=black, draw=black, shape=circle, minimum
size=0.15cm, inner sep=0pt]
\tikzstyle{blackedge}=[-, draw=black, fill=none, line width=0.15mm]
\begin{document}
\begin{tikzpicture}
\node [style=blacknode] (0) at (-7, 3) {};
\node [style=blacknode] (1) at (-3, 3) {};
\node [style=blacknode,label={right:$f$}] (2) at (2, 3) {};
\node [style=none] (3) at (-2, 0) {};
\node [style=none] (8) at (-3.75, 0) {};
\node [style=none] (10) at (-8, 3) {};
\node [style=none] (13) at (3, 3) {};
\node [style=none] (14) at (-1, 4) {};
\node [style=none] (15) at (0, 4) {};
\node [style=none] (16) at (-3.175, 0.2) {};
\node [style=none] (17) at (-4.25, 4) {$F_1$};
\node [style=none] (18) at (-4.5, 2) {$F_2$};
\node[style=none] (19) at (-7, 2.72) {$a$};
\node[style=none] (20) at (-3, 2.72) {$b$};
\draw (0) to (1);
\draw (8.center)
to [in=240, out=15, looseness=0.75] (2.center)
to [in=75, out=105, looseness=1.25] (0.center)
to in=180, out=-60, looseness=0.75;
\filldraw [draw=none, even odd rule, pattern color= blue!255,
pattern=north east lines,opacity=0.1]
(16.center)
to [in=-120, out=10, looseness=0.75] (2.center)
to [bend left=285, looseness=1.25] (0.center)
to [in=164, out=-70, looseness=0.64] cycle
(13.center)
to [in=-90, out=-90, looseness=1.25] (10.center)
to [in=90, out=90, looseness=1.25] cycle;
\draw (15.center)
to [in=-300, out=150, looseness=1.25] (1.center)
to [in=-135, out=-45] (2.center)
to [in=30, out=120, looseness=1.25] (14.center);
\draw [pattern color= blue!255, pattern=north east
lines,opacity=0.1] (15.center)
to [in=-300, out=150, looseness=1.25] (1.center)
to [in=-135, out=-45] (2.center)
to [in=30, out=120, looseness=1.25] (14.center);
\end{tikzpicture}
\end{document}





spath3gets regularly updated it doesn't surprise me that TeXLive 2020 fails. In this case, it's simpler:spath3wasn't published in 2020. I've updated my answer (and removed the shadow stuff in favor of the ellipse like in your updates Q) and added some comments, hopefully helpfull ones. Thespath3library is daunting (and the manual doesn't help). If you can describe the paths from a to c and b to c with vanilla TikZ, i.e. a simple curve, that we don't need the whole spath3 spiel. – Qrrbrbirlbel Nov 07 '22 at 13:48