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.

2
  • 1
    Welcome to TeX.SX. In the future, when you post a question, you should always provide a "Minimal Working Example" (MWE) that starts with \documentclass, includes all relevant \usepackage commands, ends with \end{document} and compiles without errors, even if it does not produce your desired output.
    – Sandy G
    Dec 2, 2021 at 3:02
  • I will do that next time I make a post.
    – yastown
    Dec 2, 2021 at 23:07

1 Answer 1

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}
2
  • Thank you so much!
    – yastown
    Dec 2, 2021 at 23:06
  • You're welcome. It may seem strange, but we usually don't thank contributors in the comments. We show appreciation by upvoting (when you have sufficient reputation) and accepting the most helpful answer.
    – Sandy G
    Dec 2, 2021 at 23:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .