我想问一下如何使用 Tikz 或其他工具在 LaTeX 文档中绘制这样的双曲面。
谢谢。
答案1
虽然效率不高,但是已经足够好了:
\documentclass[border=2pt,tikz]{standalone}
\usetikzlibrary{positioning,arrows,shapes}
\begin{document}
\scriptsize
\begin{tikzpicture}[el/.style args={#1,#2}{draw,ellipse,minimum width=#1, minimum height=#2},outer sep=0pt,>=latex']
\node(el-1) [el={.75cm,2cm}]at (0,0){};
\node(el-2) [el={.75cm,2cm},fill=blue!20]at (3,0){} (el-2.90)node [above right]{$\mathrm{A dS}_D$};
\path [fill=white] (el-1.87)rectangle([shift={(1cm,-.1cm)}]el-1.-87);
\draw (el-1.87)to[bend right=20](el-2.93) (el-1.-87)to[bend left=20](el-2.-93);
\begin{scope}
\path[clip](1,-1)rectangle(1.5,1);
\node(el-3) [el={.6cm,1.4cm},densely dashed,thin]at (1.5,0){};
\end{scope}
\draw[densely dashed,thin] (el-1.-160)to[bend left=10](el-2.-160);
\draw[<->] ([xshift=-.2cm]el-1.120)to[bend right=10]([xshift=-.2cm]el-1.-120)node[below left]{Unwrapping of $S^1$};
\draw[->] (1.4,-1)to[out=170,in=180](1.4,1)node[above]{$t$} to[out=0,in=120](1.7,.8);
\draw[<->] (.5,-1.2)--node[below]{$r$}(2.5,-1.2);
\end{tikzpicture}
\end{document}
答案2
如果您不需要图形具有数学精度,这里有一个简单的解决方案,同时仍然是对称的。
输出
代码
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns, shapes, arrows.meta}
\begin{document}
\begin{figure}[!h]
\centering
\begin{tikzpicture}
\node[draw, ellipse, pattern=north east lines, minimum width=1cm, minimum height=4cm, outer sep=0, label=85:$AdS_D$] (ell) at (3,0) {};
\draw (ell.92)
to[out=210,in=-30] (-3,2)
to[out=150,in=210, looseness=.6] (-3,-2)
to[out=30,in=150] (ell.-92);
\draw[dashed] (0,-1.12) to[out=150,in=210, looseness=.6] (0,1.12);
\draw[dashed] (-3.54,-.3) to[out=20,in=160, looseness=.6] (2.5,-.3);
\draw[-{Latex}, thick] (-.5,-1.8) to[out=120,in=120, looseness=1.5] node[near end, above, yshift=5mm] {$t$} (.5,1.5);
\draw[{Latex}-{Latex}] (-1.5,-2.5) to[out=15,in=165] node[midway, below] {$r$} (1.5,-2.5);
\draw[{Latex}-{Latex}] (-4,-1) to[out=100,in=-100] node[at start, left, anchor=north east] {Unvrapping of $S^1$} (-4,1);
\end{tikzpicture}
\caption{The topological structure of anti de- Sitter.}
\end{figure}
\end{document}