Can someone help me reproduce the following images – or parts of them – with tikz
. (In case it helps to clarify my intent: I am trying to draw the worldsheet topologies for the vacuum diagram of the oriented open and closed strings at tree- and one-loop-level)?
Open string
Closed string
Please excuse my honest but admittedly pathetic attempt to draw them by hand. Perhaps some words can help:
- For the open string, all objects except the cylinder in the lower right should be two-dimensional surfaces on a flat two-dimensional background.
- For the closed string, all surfaces should look like two-dimensional surfaces embedded into three-dimensional space, i.e. convey a perception of depth. The 'hashtags' are only there to illustrate this point and should not appear in the final image. If possible, something akin to the shapes produced for this question would a great. (Perhaps less flashy, i.e. black/white/gray colors only)
- All shapes should be filled with a light gray.
- After looking at the
tqft
package and seeing its 'cups' I realized these would be much more appropriate for the ends of the closed string worldsheets (see the updated second image).
So far, I started on the disk,
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle (1);
\draw [<->] (-0.95,-0.6) arc (-150:-30:1.1);
\draw [->] (-0.8,-0.3) -- (0.8,-0.3);
\node at (0,-1.5) {$\tau$};
\node at (0,-0.5) {$\sigma$};
\end{tikzpicture}
\end{document}
and the cylinder.
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[rotate=90]
\draw[<->] (0.2,3) arc (40:320:0.4 and 2.33);
\draw (0,0) -- (4,0);
\draw (0,3) -- (4,3);
\draw (0,0) arc (270:90:0.3 and 1.5);
\draw (4,1.5) ellipse (0.5 and 1.5);
\draw (-0.7,1.5) node {$\tau$};
\draw[->] (0.5,-0.3) -- (3.5,-0.3);
\draw (2,-0.5) node {$\sigma$};
\end{tikzpicture}
\end{document}
Thanks for any help! I would more than welcome suggestions or partial solutions.
Best Answer
So here is a first partial solution. Probably way to complicated. I needed to figure out first, how the tqft package works...
In case I find some time to think about this further, I'll go on working on this...
Edit
Some progress, but still room for improvements (simplifying and annotating code...)
Edit2
Its more or less done. I leave the fine tuning and customization to you.