1

I want to draw the following picture with tikz. enter image description here

I found this Tikz: Once punctured torus? post which is extremely close to what I want, but I am not good enough at tikz to modify this. Any help would be appreaciated.

yastown
  • 13

1 Answers1

2

Here is a trick using doubled lines and adjusting the xscale to give the appearance of a torus.

enter image description here

The first two draw commands produce the top and bottom halves of the torus. The thick,white lines cover the overlap.

The next four draw commands produce the meridional circle (half dashed), followed by the longitudinal circle (half dashed). You can adjust the looseness and line width however you like.

Finally, the intersections library is used to find the vertex and a filled circle is drawn. (Since the xscale is 2, an ellipse is needed.)

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections}

\begin{document} \begin{tikzpicture}[xscale=2] \draw[double distance=15mm] (0:1) arc (0:180:1); \draw[double distance=15mm] (180:1) arc (180:360:1); \draw[thick,white] (.6,0)--(1.37,0); \draw[thick,white] (-.6,0)--(-1.37,0); \draw[line width=.3, looseness=.3, name path=mer] (0,-1.75cm-.2pt) to[out=0,in=0] (0,-.25cm+.2pt); \draw[line width=.3, dashed, looseness=.3] (0,-1.75cm-.2pt) to[out=180,in=180] (0,-.25cm+.2pt); \draw[line width=.3, looseness=1.3, name path=lon] (1.375cm+.1pt,0) to[out=-90, in=-90] (-1.375cm-.1pt,0); \draw[line width=.3, dashed, looseness=1.3] (1.375cm+.1pt,0) to[out=90, in=90] (-1.375cm-.1pt,0); \fill[name intersections={of=mer and lon, by=v1}] (v1) ellipse (.2mm and .4mm); \end{tikzpicture} \end{document}

Sandy G
  • 42,558