« home

Cylinder to Plane

physicsstring theorytopologycetztikz

String theory: Primary fields and radial quantization A time-ordered product of fields on the cylinder maps to a radially ordered product in the complex plane. This graphic visualizes how different times on the cylinder correspond to different times on the plane.


Cylinder to Plane

  Download

PNGSVG

  Code

  LaTeX

cylinder-to-plane.tex (31 lines)

\documentclass[tikz]{standalone}

\begin{document}
\begin{tikzpicture}

  \draw[dashed] (2.6,0) arc (-90:90:-0.5 and 1.5);% line 1
  \draw[dashed] (1.4,0) arc (-90:90:-0.5 and 1.5);% line 2
  \draw[->] (-0.5,0) arc (-90:90:-0.5 and 1.5);
  \draw (0,0) -- (4,0);% bottom line
  \draw (0,3) -- (4,3);% top line
  \draw (0,0) arc (270:90:0.5 and 1.5);% left half of the left ellipse
  \draw (4,1.5) ellipse (0.5 and 1.5);% right ellipse
  \draw (0.6,1.5) node {$\tau_1$};
  \draw (1.8,1.5) node {$\tau_2$};
  \draw (-1.25,1.5) node {$\sigma$};
  \draw[->] (0.5,-0.5) -- (3.5,-0.5);
  \draw (2,-1) node {$\tau$};

  \draw[->,thick] (5.0,1.5) -- (6,1.5);

  \draw[dashed] (9,1.5) circle (0.8);
  \draw[dashed] (9,1.5) circle (1.8);
  \draw [->,domain=0:90] plot ({9 - 2.2*cos(\x)},{1.5-2.2*sin(\x)});
  \draw (6.9,0.2) node {$\sigma$};
  \draw (9.6,2.4) node {$\tau_1$};
  \draw (10.4,3) node {$\tau_2$};
  \node at (9,1.5) [circle,inner sep=1pt,fill=black] {};

\end{tikzpicture}
\end{document}

  Typst

cylinder-to-plane.typ (90 lines)

#import "@preview/cetz:0.3.4": canvas, draw
#import draw: line, content, circle, arc

#set page(width: auto, height: auto, margin: 8pt)

// Constants
#let arrow-style = (
  mark: (end: "stealth", fill: black, scale: 0.7),
  stroke: 0.8pt,
)

#canvas({
  // Left side (cylinder)
  // Vertical lines
  arc(
    (2.6, 0),
    start: -90deg,
    stop: -270deg,
    radius: (0.5, 1.5),
    stroke: (dash: "dashed"),
    name: "tau2-arc",
  )
  arc(
    (1.4, 0),
    start: -90deg,
    stop: -270deg,
    radius: (0.5, 1.5),
    stroke: (dash: "dashed"),
    name: "tau1-arc",
  )
  arc(
    (-0.4, 0),
    start: -90deg,
    stop: -270deg,
    radius: (0.5, 1.5),
    ..arrow-style,
    name: "sigma-arc",
  )
  // Labels
  content("tau1-arc.mid", $tau_1$, anchor: "east", padding: 2pt)
  content("tau2-arc.mid", $tau_2$, anchor: "east", padding: 2pt)
  content("sigma-arc.mid", $sigma$, anchor: "east", padding: 2pt)


  // Draw cylinder: Horizontal lines
  line((0, 0), (4, 0), name: "bottom-line") // bottom
  line((0, 3), (4, 3), name: "top-line") // top
  // Left and right ellipses
  arc(
    (0, 0),
    start: 270deg,
    stop: 90deg,
    radius: (0.5, 1.5),
  )
  circle(
    (4, 1.5),
    radius: (0.5, 1.5),
    name: "right-ellipse",
  )

  // Bottom arrow and label
  line((0.5, -0.5), (3.5, -0.5), ..arrow-style, name: "tau-arrow")
  content("tau-arrow", $tau$, anchor: "north")

  // Transformation arrow
  line((5.0, 1.5), (6, 1.5), stroke: 1pt, ..arrow-style)

  // Right side (plane)
  // Dashed circles
  circle((9, 1.5), radius: 0.05, fill: black, name: "center-dot")
  circle((9, 1.5), radius: 0.8, stroke: (dash: "dashed"), name: "tau1-circle")
  circle((9, 1.5), radius: 1.8, stroke: (dash: "dashed"), name: "tau2-circle")

  // Quarter circle with arrow
  arc(
    "center-dot",
    radius: 2.2,
    start: -180deg,
    stop: -90deg,
    anchor: "origin",
    ..arrow-style,
    name: "sigma-arrow",
  )

  // Labels
  content("sigma-arrow.mid", $sigma$, anchor: "north-east", padding: 1pt)
  content("tau1-circle.-15%", $tau_1$, anchor: "south-west")
  content("tau2-circle.-15%", $tau_2$, anchor: "south-west")
})