![点集拓扑图](https://linux22.com/image/351050/%E7%82%B9%E9%9B%86%E6%8B%93%E6%89%91%E5%9B%BE.png)
答案1
我希望这是你所需要的:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{fit,shapes.geometric}
\tikzset{%
mydot/.style={draw, circle, fill=black},
myset/.style={draw, ellipse, very thick},
}
\begin{document}
\noindent
%\vspace{30ex}
\begin{center}
\begin{tikzpicture}%[]
\path (-6,-5.5) rectangle (6,5.5); % only to compensate the transform canvas
\matrix[column sep=4em,row sep=2ex,transform canvas={scale=0.5}] {% first row
\node[mydot,label=below:a] (a) {};
\node[mydot,label=below:b] (b) [below right=1cm and 1cm of a]{};
\node[mydot,label=below:c] (c) [above right = 1cm and 2cm of a]{};
\node[myset, fit=(a)(b)(c), minimum width=5.5cm] {};
&
\node[mydot,label={[label distance=.3cm]270:a}] (a) {};
\node[mydot,label=below:b] (b) [below right=1cm and 1cm of a]{};
\node[mydot,label=below:c] (c) [above right = 1cm and 2cm of a]{};
\node[myset, fit=(a)] {};
\node[myset, fit=(a)(b), minimum height=4cm, rotate=45] (ab) {};
\node[myset, fit=(ab)(c), minimum height=6cm, minimum width=5.5cm, rotate=45] {};
&
\node[mydot,label=below:a] (a) {};
\node[mydot,label={[label distance=.3cm]270:b}] (b) [below right=1cm and 1cm of a] {};
\node[mydot,label=below:c] (c) [above right = 1cm and 2cm of a]{};
\node[myset, fit=(b)] {};
\node[myset, fit=(a)(b), minimum height=5cm, minimum width=3.5cm, rotate=45] {};
\node[myset, fit=(b)(c), minimum height=5cm, minimum width=2.3cm, rotate=-20] {};
\node[myset,fit=(a)(b)(c), minimum height=6.5cm, minimum width=7cm, rotate=320] {};
\\ % second row
\node[mydot] (a) {};
\node[mydot] (b) [below right=1cm and 1cm of a]{};
\node[mydot] (c) [above right = 1cm and 2cm of a]{};
\node[myset, fit=(b)] {};
\node[myset, fit=(a)(b)(c), minimum width=5.5cm] {};
&
\node[mydot] (a) {};
\node[mydot] (b) [below right=1cm and 1cm of a]{};
\node[mydot] (c) [above right = 1cm and 2cm of a]{};
\node[myset, fit=(a)] {};
\node[myset, fit=(b)(c), minimum height=4.5cm, rotate=-20] {};
\node[myset, fit=(a)(b)(c), minimum height=6cm, minimum width=5cm, rotate=-30] {};
&
\node[mydot] (a) {};
\node[mydot] (b) [below right=1cm and 1cm of a] {};
\node[mydot] (c) [above right = 1cm and 2cm of a]{};
\node[myset, fit=(b)] {};
\node[myset, fit=(c)] {};
\node[myset, fit=(a)(b), minimum height=4cm, rotate=30] (ab) {};
\node[myset, fit=(b)(c), rotate=-20] (bc) {};
\node[myset, fit=(ab)(bc)] {};
\\ % third row
\node[mydot] (a) {};
\node[mydot] (b) [below right=1cm and 1cm of a]{};
\node[mydot] (c) [above right = 1cm and 2cm of a]{};
\node[myset, fit=(a)(b), minimum height=3cm, minimum width=2cm, rotate=30] (ab) {};
\node[myset, fit=(ab)(c), minimum height=5.5cm, minimum width=4.5cm, rotate=-30] {};
&
\node[mydot] (a) {};
\node[mydot] (b) [below right=1cm and 1cm of a]{};
\node[mydot] (c) [above right = 1cm and 2cm of a]{};
\node[myset, fit=(a)] {};
\node[myset, fit=(b)] {};
\node[myset, fit=(a)(b), minimum height=3cm, minimum width=2cm, rotate=30] (ab) {};
\node[myset, fit=(ab)(c), minimum height=5.5cm, minimum width=4.5cm, rotate=-30] {};
&
\node[mydot] (a) {};
\node[mydot] (b) [below right=1cm and 1cm of a]{};
\node[mydot] (c) [above right = 1cm and 2cm of a]{};
\node[myset, fit=(a)] {};
\node[myset, fit=(b)] {};
\node[myset, fit=(c)] {};
\node[myset, fit=(a)(b), minimum height=3cm, minimum width=2cm, rotate=30] (ab) {};
\node[myset, fit=(b)(c), minimum height=4cm, rotate=-20] {};
\node[myset, fit=(a)(c), minimum width=4cm, rotate=30] (ac) {};
\node[myset, fit=(ab)(bc)(ac)] {};
\\
};
\end{tikzpicture}
\end{center}
\end{document}