Kruskal diagram of Schwarzschild spacetime with light cones to illustrate the causal structure. Using Kruskal-Szekeres coordinates, lightlike worldlines remain at 45 degrees, i.e. the diagrams are conformal. The grid indicates lines of constant r and t. The horizon is at r = 2GM (V = ±U), singularity at r = 0. For more related figures, please see Relativity category.
Equations for the coordinate transformations:
Kurskal diagram of a Schwarzschild black holes:
Kurskal diagram of a Schwarzschild black holes with equidistant world lines:
Kurskal diagram with a particle falling inside the black hole (note the light cones remain at a 45° angle):
Edit and compile if you like:
% Author: Izaak Neutelings (October 2021) % Inspiration: % "Spacetime and Geometry: An Introduction to General Relativity", Sean M. Carroll % "Gravity: An Introduction to Einstein's General Relativity", James B. Hartle \documentclass[border=3pt,tikz]{standalone} \usepackage{tikz} \usepackage{amsmath} % for \text \usepackage{mathrsfs} % for \mathscr \usepackage{xfp} % higher precision (16 digits?) \usepackage[outline]{contour} % glow around text \usetikzlibrary{decorations.markings,decorations.pathmorphing} \usetikzlibrary{arrows.meta} % for arrow size \contourlength{1.2pt} \newcommand{\calI}{\mathscr{I}} %\mathcal \tikzset{>=latex} % for LaTeX arrow head \colorlet{myred}{red!80!black} \colorlet{myblue}{blue!80!black} \colorlet{mygreen}{green!80!black} \colorlet{mydarkred}{red!50!black} \colorlet{mydarkblue}{blue!50!black} \colorlet{mylightblue}{mydarkblue!6} \colorlet{mypurple}{blue!40!red!80!black} \colorlet{mydarkpurple}{blue!40!red!50!black} \colorlet{mylightpurple}{mydarkpurple!80!red!6} \colorlet{myorange}{orange!40!yellow!95!black} \tikzstyle{cone}=[mydarkblue,line width=0.2,top color=blue!60!black!30, bottom color=blue!60!black!50!red!30,shading angle=60,fill opacity=0.9] \tikzstyle{cone back}=[mydarkblue,line width=0.1,dash pattern=on 1pt off 1pt] \tikzstyle{world line}=[myblue!60,line width=0.4,shorten <=-2mm,shorten >=-2mm] \tikzstyle{world line t}=[mypurple!60,line width=0.4,shorten <=-2mm,shorten >=-2mm] \tikzstyle{particle}=[mygreen,line width=0.5] \tikzstyle{photon}=[-{Latex[length=4,width=3]},myorange,line width=0.4,decorate, decoration={snake,amplitude=0.9,segment length=4,post length=3.8}] \tikzstyle{singularity}=[myred,line width=0.6,decorate, decoration={zigzag,amplitude=1.8,segment length=5}] \tikzset{declare function={% Kruskal-Szekeres coordinates sing(\x) = {\fpeval{sqrt(\x*\x+1)}};% rstar(\c) = {\fpeval{(\c/2-1)*exp(\c/2)}};% kruskalu(\x,\c) = {\fpeval{sqrt(\x*\x+(\c/2-1)*exp(\c/2))}};% kruskalv(\x,\c) = {\fpeval{sqrt(\x*\x-(\c/2-1)*exp(\c/2))}};% }} \def\tick#1#2{\draw[thick] (#1) ++ (#2:0.04) --++ (#2-180:0.08)} \def\Nsamples{50} % number samples in plot % HORIZON, r=2GM \def\rtinf#1{\color{mydarkblue} r &\color{mydarkblue}= 2GM \\[-2mm] \color{mydarkpurple} t &\color{mydarkpurple}= #1\infty \color{black} } % LIGHTCONE \def\R{0.10} % size lightcone \def\e{0.08} % vertical scale \def\ang{45} % angle light cone \def\angb{acos(sqrt(\e)*sin(\ang))} % angle ellipse center to point of tangency \def\a{\R*sin(\ang)*sqrt(1-\e*sin(\ang)^2)/(1-\e*sin(\ang)^2)} % vertical radius \def\b{\R*sqrt(\e)*sin(\ang)*cos(\ang)/(1-\e*sin(\ang)^2)} % horizontal radius \def\coneback#1{ % light cone part to be drawn behind world lines \draw[cone back] % dashed line back (#1)++(-45:\R) arc({90-\angb}:{90+\angb}:{\a} and {\b}); \draw[cone,shading angle=-60] % top edge & inside (#1)++(0,{\R*cos(\ang)/(1-\e*sin(\ang)^2)}) ellipse({\a} and {\b}); } \def\conefront#1{ % light cone part to be drawn over world lines \draw[cone] % light cone outside (#1) --++ (45:\R) arc({\angb-90}:{-90-\angb}:{\a} and {\b}) --++ (-45:2*\R) arc({90-\angb}:{-270+\angb}:{\a} and {\b}) -- cycle; } \begin{document} % PENROSE COORDINATES for Kruskal-Szekeres coordinates \begin{tikzpicture}[scale=1] \def\tu{\tan^2u} % shorthand \def\tv{\tan^2v} % shorthand \node[align=left] at (0,0) { \begin{minipage}{9.5cm} Kruskal-Szekeres coordinates for Schwarzschild spacetime \begin{align*} &\begin{cases} \left.\begin{aligned} U &= \sqrt{\dfrac{r}{2GM}-1}\,e^{\frac{r}{4GM}}\cosh\left(\frac{t}{4GM}\right) \\ V &= \sqrt{\dfrac{r}{2GM}-1}\,e^{\frac{r}{4GM}}\sinh\left(\frac{t}{4GM}\right) \\ \end{aligned}\right\} &\text{for $r>2GM$} \\[8mm] \left.\begin{aligned} U &= \sqrt{1-\dfrac{r}{2GM}}\,e^{\frac{r}{4GM}}\sinh\left(\frac{t}{4GM}\right) \\ V &= \sqrt{1-\dfrac{r}{2GM}}\,e^{\frac{r}{4GM}}\cosh\left(\frac{t}{4GM}\right) \\ \end{aligned}\right\} &\text{for $r<2GM$} \end{cases}\\[1mm] &\Rightarrow\begin{cases} U^2 - V^2 = \left(\dfrac{r}{2GM}-1\right)e^{\frac{r}{2GM}} & \\[3mm] V = \tanh\left(\dfrac{t}{4GM}\right)U & \text{for $r>2GM$} \\[3mm] V = \coth\left(\dfrac{t}{4GM}\right)U & \text{for $r<2GM$} \end{cases} \end{align*} \end{minipage} }; \end{tikzpicture} % KRUSKAL DIAGRAM - equidistant world lines \begin{tikzpicture}[scale=1.8] \message{Kruskal diagram^^J} \def\xmax{2} \def\Nlines{3} % number of world lines (at constant r/t) \coordinate (O) at ( 0, 0); % center I: origin (r,t) = (0,0) \coordinate (SW) at (-\xmax,-\xmax); % horizon r=2M, t=-infty, region I \coordinate (SE) at ( \xmax,-\xmax); % horizon r=2M, t=-infty, region I \coordinate (NW) at (-\xmax, \xmax); % horizon r=2M, t=+infty, region IV \coordinate (NE) at ( \xmax, \xmax); % horizon r=2M, t=+infty, region IV % REGIONS FILLS \fill[mylightpurple] (NW) -- (O) -- (NE) -- cycle; % region I \fill[mylightblue] (NE) -- (O) -- (SE) -- cycle; % region II \fill[mylightpurple] (SW) -- (O) -- (SE) -- cycle; % region III \fill[mylightblue] (NW) -- (O) -- (SW) -- cycle; % region IV \begin{scope} \clip (-\xmax,-\xmax) rectangle (\xmax,\xmax); % CONSTANT T WORLD LINES \message{Making world constant-r lines (region I, III)...^^J} \foreach \i [evaluate={\c=3*\i/\Nlines; \a=tanh(\c/2); \b=1/tanh(\c/2); \y=min(\xmax,\b/sqrt(\b*\b-1)); \x=\y/\b; }] in {1,...,\Nlines}{ \message{ Running i/N=\i/\Nlines, (x,y)=(\x,\y) ...^^J} \draw[world line t] ( \x,-\y) -- (-\x,\y); \draw[world line t] (-\x,-\y) -- ( \x,\y); \draw[world line t] ( \xmax,{-\a*\xmax}) -- (-\xmax,{\a*\xmax}); \draw[world line t] (-\xmax,{-\a*\xmax}) -- ( \xmax,{\a*\xmax}); } % CONSTANT R WORLD LINES \message{Making world constant-r lines (region I, III)...^^J} \foreach \i [evaluate={\c=2+\i/\Nlines; \vmax=kruskalv(\xmax,\c);}] in {1,...,\Nlines}{ %; \ct=tan(90*\c) \message{ Running i/N=\i/\Nlines, c=\c...^^J} \draw[world line,samples=\Nsamples,smooth,variable=\y,domain=-\vmax:\vmax] plot({-kruskalu(\y,\c)},\y) plot({ kruskalu(\y,\c)},\y); } \message{Making constant-r world lines (region II, IV)...^^J} \foreach \i [evaluate={\c=0.5+1.35*\i/\Nlines; \umax=kruskalu(\xmax,\c); \skip=int(\c<0.8)}] in {1,...,\Nlines}{ %; \ct=tan(90*\c) \message{ Running i/N=\i/\Nlines, c=\c...^^J} \ifnum\skip=0 % skip if overlaps with zigzag \draw[world line,samples=\Nsamples,smooth,variable=\x,domain=-\umax:\umax] plot(\x,{-kruskalv(\x,\c)}) plot(\x,{ kruskalv(\x,\c)}); \fi } \end{scope} % SINGULARITY \draw[singularity,fill=mydarkred!80!black!20,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{sqrt(\x*\x+1)}); \draw[singularity,fill=mydarkred!80!black!20,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{-sqrt(\x*\x+1)}); % LABELS \pgfmathsetmacro\rl{-0.26*\xmax} % r left \pgfmathsetmacro\rr{0.35*\xmax} % r right \node[myred,above left=-1,rotate=-35] at (\rl,{sqrt((\rl)^2+1)}) {singularity}; \node[myred,above right=1,rotate=33] at (\rr,{sqrt((\rr)^2+1)}) {$r=0$}; \node[world line t,right] at (\xmax,{\xmax*tanh(3/2/\Nlines)}) {$t=\text{constant}$}; \node[world line,above=2,right] at (\xmax,{kruskalv(\xmax,(3))}) {$r=\text{constant}$}; \node[world line t,above=1,right] at (1.12*\xmax,0) {$t=0$}; \node[world line t,above=1,rotate=90] at (0,0.85*\xmax) {$t=0$}; \node[below=2,left] at (-\xmax,-\xmax) {$\left.\begin{aligned}\rtinf{+}\end{aligned}\right\}$}; \node[above=2,left] at (-\xmax,\xmax) {$\left.\begin{aligned}\rtinf{-}\end{aligned}\right\}$}; \node[below=2,right] at (\xmax,-\xmax) {$\left\{\begin{aligned}\rtinf{-}\end{aligned}\right.$}; \node[above=2,right] at (\xmax,\xmax) {$\left\{\begin{aligned}\rtinf{+}\end{aligned}\right.$}; % AXES \draw[->,thick] (-\xmax-0.1,0) -- (\xmax+0.2,0) node[left=1,below] {$U$}; \draw[->,thick] (0,-\xmax-0.1) -- (0,\xmax+0.2) node[left=-1] {$V$}; \draw[singularity,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{sqrt(\x*\x+1)}); \draw[singularity,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{-sqrt(\x*\x+1)}); \draw[thick,mydarkblue] (SE) -- (O) -- (NW) (SW) -- (O) -- (NE); % REGIONS \node at (-0.66*\xmax,0.08*\xmax) {III}; \node at ( 0.66*\xmax,0.08*\xmax) {I}; \node at (-0.06*\xmax,0.32*\xmax) {II}; \node at (-0.07*\xmax,-0.32*\xmax) {IV}; \end{tikzpicture} % KRUSKAL DIAGRAM \begin{tikzpicture}[scale=1.8] \message{Kruskal diagram^^J} \def\xmax{2} \def\Nlines{3} % number of world lines (at constant r/t) \coordinate (O) at ( 0, 0); % center I: origin (r,t) = (0,0) \coordinate (SW) at (-\xmax,-\xmax); % horizon r=2M, t=-infty, region I \coordinate (SE) at ( \xmax,-\xmax); % horizon r=2M, t=-infty, region I \coordinate (NW) at (-\xmax, \xmax); % horizon r=2M, t=+infty, region IV \coordinate (NE) at ( \xmax, \xmax); % horizon r=2M, t=+infty, region IV % REGIONS FILLS \fill[mylightpurple] (NW) -- (O) -- (NE) -- cycle; % region I \fill[mylightblue] (NE) -- (O) -- (SE) -- cycle; % region II \fill[mylightpurple] (SW) -- (O) -- (SE) -- cycle; % region III \fill[mylightblue] (NW) -- (O) -- (SW) -- cycle; % region IV \begin{scope} \clip (-\xmax,-\xmax) rectangle (\xmax,\xmax); % CONSTANT T WORLD LINES \message{Making world constant-r lines (region I, III)...^^J} \foreach \i [evaluate={\ang=45*\i/(\Nlines+1); \y=tan(\ang)*\xmax}] in {1,...,\Nlines}{ \message{ Running i/N=\i/\Nlines, ang=\ang...^^J} \draw[world line t] (-\xmax,-\y) -- ( \xmax,\y); \draw[world line t] ( \xmax,-\y) -- (-\xmax,\y); \draw[world line t] (-\y,-\xmax) -- ( \y,\xmax); \draw[world line t] ( \y,-\xmax) -- (-\y,\xmax); } \node[world line t,right] at (\xmax,{\xmax*tan(45/(\Nlines+1))}) {$t=\text{constant}$}; \node[world line,above=2,right] at (\xmax,{kruskalv(\xmax,3)}) {$r=\text{constant}$}; % CONSTANT R WORLD LINES \message{Making world constant-r lines (region I, III)...^^J} \foreach \i [evaluate={\c=1.6*\i/\Nlines; \vmax=sqrt(\xmax*\xmax-\c*\c);}] in {1,...,\Nlines}{ \message{ Running i/N=\i/\Nlines, c=\c...^^J} \draw[world line,samples=\Nsamples,smooth,variable=\y,domain=-\vmax:\vmax] plot({-sqrt(\y*\y+\c*\c)},\y) plot({ sqrt(\y*\y+\c*\c)},\y); } \message{Making constant-r world lines (region II, IV)...^^J} \foreach \i [evaluate={\c=0.9*\i/\Nlines; \umax=sqrt(\xmax*\xmax-\c*\c);}] in {1,...,\Nlines}{ \message{ Running i/N=\i/\Nlines, c=\c...^^J} \draw[world line,samples=\Nsamples,smooth,variable=\x,domain=-\umax:\umax] plot(\x,{-sqrt(\x*\x+\c*\c)}) plot(\x,{ sqrt(\x*\x+\c*\c)}); } \end{scope} % SINGULARITY \draw[singularity,fill=mydarkred!80!black!20,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{sqrt(\x*\x+1)}); \draw[singularity,fill=mydarkred!80!black!20,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{-sqrt(\x*\x+1)}); % LABELS \pgfmathsetmacro\rl{-0.26*\xmax} % r left \pgfmathsetmacro\rr{0.35*\xmax} % r right \node[myred,above left=-1,rotate=-35] at (\rl,{sqrt((\rl)^2+1)}) {singularity}; \node[myred,above right=1,rotate=33] at (\rr,{sqrt((\rr)^2+1)}) {$r=0$}; \node[mydarkblue,rotate=45,below left=-2,scale=0.8] at (45:1.2*\xmax) {\contour{mylightblue}{horizon $r=2GM$}}; \node[world line t,right] at (\xmax,{\xmax*tan(45/(\Nlines+1))}) {$t=\text{constant}$}; \node[world line,above=2,right] at (\xmax,{sqrt(\xmax^2-(1.6)^2)}) {$r=\text{constant}$}; \node[world line t,above=1,right] at (1.12*\xmax,0) {$t=0$}; \node[world line t,above=1,rotate=90] at (0,0.85*\xmax) {$t=0$}; \node[below=2,left] at (-\xmax,-\xmax) {$\left.\begin{aligned}\rtinf{+}\end{aligned}\right\}$}; \node[above=2,left] at (-\xmax,\xmax) {$\left.\begin{aligned}\rtinf{-}\end{aligned}\right\}$}; \node[below=2,right] at (\xmax,-\xmax) {$\left\{\begin{aligned}\rtinf{-}\end{aligned}\right.$}; \node[above=2,right] at (\xmax,\xmax) {$\left\{\begin{aligned}\rtinf{+}\end{aligned}\right.$}; % AXES \draw[->,thick] (-\xmax-0.1,0) -- (\xmax+0.2,0) node[left=1,below] {$U$}; \draw[->,thick] (0,-\xmax-0.1) -- (0,\xmax+0.2) node[left=-1] {$V$}; \draw[singularity,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{sqrt(\x*\x+1)}); \draw[singularity,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{-sqrt(\x*\x+1)}); \draw[thick,mydarkblue] (SE) -- (O) -- (NW) (SW) -- (O) -- (NE); % REGIONS \node at (-0.66*\xmax,0.07*\xmax) {III}; \node at ( 0.66*\xmax,0.07*\xmax) {I}; \node[fill=mylightpurple,inner sep=1] at (-0.06*\xmax,0.32*\xmax) {II}; \node[fill=mylightpurple,inner sep=1] at (-0.07*\xmax,-0.32*\xmax) {IV}; \end{tikzpicture} % KRUSKAL DIAGRAM - equidistant world lines \begin{tikzpicture}[scale=1.8] \message{Kruskal diagram^^J} \def\xmax{2} \def\Nlines{3} % number of world lines (at constant r/t) \pgfmathsetmacro\ta{tan(45/(\Nlines+1))} % constant t value 1 \pgfmathsetmacro\ra{(1.6/\Nlines)} % constant r value 1 \coordinate (O) at ( 0, 0); % center I: origin (r,t) = (0,0) \coordinate (SW) at (-\xmax,-\xmax); % horizon r=2M, t=-infty, region I \coordinate (SE) at ( \xmax,-\xmax); % horizon r=2M, t=-infty, region I \coordinate (NW) at (-\xmax, \xmax); % horizon r=2M, t=+infty, region IV \coordinate (NE) at ( \xmax, \xmax); % horizon r=2M, t=+infty, region IV \coordinate (X0) at (\xmax,-0.89*\xmax); \coordinate (X1) at ({0.51*\xmax},{-tan(135/(\Nlines+1))*0.51*\xmax}); \coordinate (X2) at ({\ra/sqrt(1-\ta*\ta)},{\ta*\ra/sqrt(1-\ta*\ta)}); \coordinate (X3) at (45:0.32*\xmax); % particle falling in BH horizon \coordinate (X4) at (0.2*\xmax,{sqrt((0.2*\xmax)^2+1.1)}); % particle falling in BH singularity % REGIONS FILLS \fill[mylightpurple] (NW) -- (O) -- (NE) -- cycle; % region I \fill[mylightblue] (NE) -- (O) -- (SE) -- cycle; % region II \fill[mylightpurple] (SW) -- (O) -- (SE) -- cycle; % region III \fill[mylightblue] (NW) -- (O) -- (SW) -- cycle; % region IV % LIGHT CONE BACK \coneback{X1}; \coneback{X2}; \coneback{X3}; \begin{scope} \clip (-\xmax,-\xmax) rectangle (\xmax,\xmax); % CONSTANT T WORLD LINES \message{Making world constant-r lines (region I, III)...^^J} \foreach \i [evaluate={\ang=45*\i/(\Nlines+1); \y=tan(\ang)*\xmax}] in {1,...,\Nlines}{ \message{ Running i/N=\i/\Nlines, ang=\ang...^^J} \draw[world line t] (-\xmax,-\y) -- ( \xmax,\y); \draw[world line t] ( \xmax,-\y) -- (-\xmax,\y); \draw[world line t] (-\y,-\xmax) -- ( \y,\xmax); \draw[world line t] ( \y,-\xmax) -- (-\y,\xmax); } \node[world line t,right] at (\xmax,{\xmax*tan(45/(\Nlines+1))}) {$t=\text{constant}$}; \node[world line,above=2,right] at (\xmax,{kruskalv(\xmax,3)}) {$r=\text{constant}$}; % CONSTANT R WORLD LINES \message{Making world constant-r lines (region I, III)...^^J} \foreach \i [evaluate={\c=1.6*\i/\Nlines; \vmax=sqrt(\xmax*\xmax-\c*\c);}] in {1,...,\Nlines}{ \message{ Running i/N=\i/\Nlines, c=\c...^^J} \draw[world line,samples=\Nsamples,smooth,variable=\y,domain=-\vmax:\vmax] plot({-sqrt(\y*\y+\c*\c)},\y) plot({ sqrt(\y*\y+\c*\c)},\y); } \message{Making constant-r world lines (region II, IV)...^^J} \foreach \i [evaluate={\c=0.9*\i/\Nlines; \umax=sqrt(\xmax*\xmax-\c*\c);}] in {1,...,\Nlines}{ \message{ Running i/N=\i/\Nlines, c=\c...^^J} \draw[world line,samples=\Nsamples,smooth,variable=\x,domain=-\umax:\umax] plot(\x,{-sqrt(\x*\x+\c*\c)}) plot(\x,{ sqrt(\x*\x+\c*\c)}); } % PARTICLE \draw[particle,decoration={markings,mark=at position 0.25 with {\arrow{latex}}, mark=at position 0.61 with {\arrow{latex}}, mark=at position 0.90 with {\arrow{latex}}},postaction={decorate}] (X0) to[out=135,in=-60] (X1) to[out=120,in=-70] (X2) to[out=110,in=-80] (X3) to[out=100,in=-90] (X4); \end{scope} % SINGULARITY \draw[singularity,fill=mydarkred!80!black!20,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{sqrt(\x*\x+1)}); \draw[singularity,fill=mydarkred!80!black!20,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{-sqrt(\x*\x+1)}); % LIGHT CONE FRONT \conefront{X1}; \conefront{X2}; \conefront{X3}; % ESCAPING PHOTONS \draw[photon] (X1) ++ (45:0.15) --++ (45:0.4); \draw[photon] (X2) ++ (45:0.15) --++ (45:0.4); % LABELS \pgfmathsetmacro\rl{-0.26*\xmax} % r left \pgfmathsetmacro\rr{0.35*\xmax} % r right \node[myred,above left=-1,rotate=-35] at (\rl,{sqrt((\rl)^2+1)}) {singularity}; \node[myred,above right=1,rotate=33] at (\rr,{sqrt((\rr)^2+1)}) {$r=0$}; \node[mydarkblue,rotate=45,below left=-2,scale=0.8] at (45:1.2*\xmax) {\contour{mylightblue}{horizon $r=2GM$}}; \node[world line t,right] at (\xmax,{\xmax*tan(45/(\Nlines+1))}) {$t=\text{constant}$}; \node[world line,above=2,right] at (\xmax,{sqrt(\xmax^2-(1.6)^2)}) {$r=\text{constant}$}; \node[world line t,above=1,right] at (1.12*\xmax,0) {$t=0$}; \node[world line t,above=1,rotate=90] at (0,0.85*\xmax) {$t=0$}; \node[below=2,left] at (-\xmax,-\xmax) {$\left.\begin{aligned}\rtinf{+}\end{aligned}\right\}$}; \node[above=2,left] at (-\xmax,\xmax) {$\left.\begin{aligned}\rtinf{-}\end{aligned}\right\}$}; \node[below=2,right] at (\xmax,-\xmax) {$\left\{\begin{aligned}\rtinf{-}\end{aligned}\right.$}; \node[above=2,right] at (\xmax,\xmax) {$\left\{\begin{aligned}\rtinf{+}\end{aligned}\right.$}; % AXES \draw[->,thick] (-\xmax-0.1,0) -- (\xmax+0.2,0) node[left=1,below] {$U$}; \draw[->,thick] (0,-\xmax-0.1) -- (0,\xmax+0.2) node[left=-1] {$V$}; \draw[singularity,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{sqrt(\x*\x+1)}); \draw[singularity,samples=\Nsamples,variable=\x, % singularity domain=sqrt(\xmax*\xmax-1):-sqrt(\xmax*\xmax-1)] plot(\x,{-sqrt(\x*\x+1)}); \draw[thick,mydarkblue] (SE) -- (O) -- (NW) (SW) -- (O) -- (NE); \end{tikzpicture} \end{document}
Click to download: relativity_kruskal_diagram.tex • relativity_kruskal_diagram.pdf
Open in Overleaf: relativity_kruskal_diagram.tex.