I want to draw the following picture with tikz.
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.
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It only takes a minute to sign up.
Sign up to join this communityI want to draw the following picture with tikz.
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.
Here is a trick using doubled lines and adjusting the xscale
to give the appearance of a torus.
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}
\documentclass
, includes all relevant\usepackage
commands, ends with\end{document}
and compiles without errors, even if it does not produce your desired output.