\documentclass[tikz]{standalone} \usetikzlibrary{tqft,calc} \begin{document} \begin{tikzpicture}[ every tqft/.append style={ transform shape, rotate=90, tqft/circle x radius=7pt, tqft/boundary separation=1cm, tqft/view from=incoming } ] % cobordism at upper left \pic[ tqft/cylinder to prior, name=a, every incoming lower boundary component/.style={draw}, every outgoing lower boundary component/.style={draw}, cobordism edge/.style={draw}, ]; \pic[ tqft/cup, cobordism edge/.style={draw}, at=(a-outgoing boundary), ]; % annotation of cobordism at upper left \coordinate (temp1) at ($(a-incoming boundary.west)!0.3!(a-outgoing boundary.west) +(0,0.08)$); \coordinate (temp2) at ($(a-incoming boundary.west)!0.7!(a-outgoing boundary.west) +(0,-0.08)$); \draw[dashed] (temp1) node[below] {$\tau_1$} to[bend right=40] ++(0,0.5) (temp2) node[below] {$\tau_2$} to[bend left=40] ++(0,0.5); \draw[->] ($(a-incoming boundary.west) - (0.2,0)$) node[below] {$\sigma$} to[bend left=40] ++(0,0.5); \draw (a-outgoing boundary) ++(0.85,0) node {$+$}; \draw[->] ($(a-incoming boundary.east)+(0.1,0.1)$) to[bend left=13] +(0.9,-0.2); \node[above] at ($(a-incoming boundary.east)+(0.55,0.1)$) {$\tau$}; % cobordism at upper right consisting of two 'pants' and a cup \pic[ tqft/pair of pants, name=b, every incoming lower boundary component/.style={draw}, cobordism edge/.style={draw}, at={($(a-outgoing boundary)+(1.5,0)$)}, ]; \pic[ tqft/reverse pair of pants, name=c, every outgoing lower boundary component/.style={draw}, cobordism edge/.style={draw}, at=(b-outgoing boundary 1), ]; \pic[ tqft/cup, cobordism edge/.style={draw}, at=(c-outgoing boundary), ]; % annotation of cobordism at upper right \draw[->] ($(b-incoming boundary.west) - (0.2,0)$) node[below] {$\sigma$} to[bend left=40] ++(0,0.5); \coordinate (temp1) at ($(b-between outgoing 1 and 2)!0.2!(c-between incoming 1 and 2) +(0,0.72)$); \coordinate (temp2) at ($(b-between outgoing 1 and 2)!0.8!(c-between incoming 1 and 2) +(0,0.72)$); \draw[dashed] (temp1) node[above] {$\tau_1$} to[bend left=40] +(0,-0.51) ++(0,-0.93) to[bend left=40] ++(0,-0.42) (temp2) node[above] {$\tau_2$} to[bend right=40] +(0,-0.51) ++(0,-0.93) to[bend right=40] ++(0,-0.42); \draw[->] ($(b-incoming boundary.east)+(0.1,0.1)$) to[bend right=13] +(0.9,0.25); \node[above] at ($(b-incoming boundary.east)+(0.5,0.2)$) {$\tau$}; % drawing ring \pic[ tqft , name=d, incoming boundary components=0, outgoing boundary components=2, cobordism edge/.style={draw}, anchor=between outgoing 1 and 2, at={($(b-between outgoing 1 and 2)!0!(c-between incoming 1 and 2) - (0,2.5)$)}, ]; \pic[ tqft , name=e, incoming boundary components=2, outgoing boundary components=0, cobordism edge/.style={draw}, at = {(d-outgoing boundary 1)}, ]; \coordinate (temp1) at ($(d-between outgoing 1 and 2)!0.2!(e-between incoming 1 and 2) +(0,0.72)$); \coordinate (temp2) at ($(d-between outgoing 1 and 2)!0.8!(e-between incoming 1 and 2) +(0,0.72)$); \draw[dashed] (temp1) to[bend left=40] +(0,-0.51) ++(0,-0.93) node[below] {$\tau_1$} to[bend left=40] ++(0,-0.42) (temp2) to[bend right=40] +(0,-0.51) ++(0,-0.93) node[below] {$\tau_2$} to[bend right=40] ++(0,-0.42); \coordinate (temp1) at ($(d-between outgoing 1 and 2)!0.5!(e-between incoming 1 and 2)$); \coordinate (temp2) at (a-between first incoming and first outgoing); \draw[->] ($(e-incoming boundary 2)+(-1.1,-0.3)$) node[above left] {$\tau$} to[bend left=30] +(0.7,0.6); \draw [->] ($(d-between outgoing 1 and 2) + (-0.45,0)$) node [below right] {$\sigma$} to[bend left=40] +(0.4,0); \draw (temp1) ++(-0.075,1.5) -- ++(0,-0.4) ++(0.15,0) -- +(0,0.4); % drawing and annotating ball \node[draw, shape=circle, minimum width=1.5cm] at (temp1-|temp2) (circ) {}; \draw[dashed] (circ) +(265:0.75) node[below] {$\tau_2$} to[bend left=15] +(95:0.75); \draw[dashed] (circ) +(295:0.75) to[bend right=40] +(65:0.75) node[right] {$\tau_1$}; \draw[->] (circ) +(220:0.5) to[bend left=20] +(140:0.5); \node[right] at(circ.west) {$\sigma$}; \draw (circ) ++(-0.075,1.5) -- ++(0,-0.4) ++(0.15,0) -- +(0,0.4); \draw[<->] (circ.south west) +(-0.1,0) to[bend left=45] ($(circ.north west)+(-0.1,0)$); \node[left=0.25em] at(circ.west) {$\tau$}; \end{tikzpicture} \end{document}