Skip to content

Instantly share code, notes, and snippets.

@mcnees
Created November 26, 2017 18:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mcnees/45b9f53ad371c38ba6f3759df5880fb1 to your computer and use it in GitHub Desktop.
Save mcnees/45b9f53ad371c38ba6f3759df5880fb1 to your computer and use it in GitHub Desktop.
A visual resolution of the barn-and-pole paradox of special relativity.
\documentclass[crop=true, border=10pt]{standalone}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{decorations.markings}
\usepackage{tikz-3dplot}
\usepackage{pgfplots}
% A few colors
%--------------------------------------------------------------
\definecolor{plum}{rgb}{0.36078, 0.20784, 0.4}
\definecolor{chameleon}{rgb}{0.30588, 0.60392, 0.023529}
\definecolor{cornflower}{rgb}{0.12549, 0.29020, 0.52941}
\definecolor{scarlet}{rgb}{0.8, 0, 0}
\definecolor{brick}{rgb}{0.64314, 0, 0}
\definecolor{sunrise}{rgb}{0.80784, 0.36078, 0}
\definecolor{lightblue}{rgb}{0.15,0.35,0.75}
\begin{document}
\pagestyle{empty}
\begin{tikzpicture}[scale=1,domain=-2:13]
\tikzstyle{axisarrow} = [-{Latex[inset=0pt,length=7pt]}]
% Clip all lines that would fall outside the grid
\clip(-2,-2) rectangle (13,13);
\draw[fill=plum!40,opacity=0.2] (4,-2) -- (8,-2) -- (8,13) -- (4,13) -- (4,-2);
\draw[fill=scarlet!40,opacity=0.2] (-2,-10/4) -- (1,-10/4) -- (13.4,13) -- (10.4,13) -- (-2,-10/4);
% Draw the grid.
\draw [cornflower!30,step=0.2,thin] (-2,-2) grid (13,13);
\draw [cornflower!60,step=1.0,thin] (-2,-2) grid (13,13);
% Draw Axes
\draw[thick,axisarrow] (-1,-2) -- (-1,13);
\node[inner sep=0pt] at (-0.5,12.7) {$t (s)$};
\draw[thick,axisarrow] (-2,-1) -- (13,-1);
\node[inner sep=0pt] at (12.5,-1.4) {$x (\ell s)$};
\draw[scarlet,thick,axisarrow,domain=-2:10.4] plot (\x,5*\x/4);
\node[inner sep=0pt] at (10.7,12.7) {$t_{\tiny\text{left}}'$};
\draw[scarlet,thick,axisarrow,domain=-2:10] plot (\x+3,5*\x/4);
\node[inner sep=0pt] at (12.5,12.7) {$t_{\tiny\text{right}}'$};
\draw[thick,black,axisarrow] (4,-2) -- (4,13);
\node[inner sep=0pt] at (4.6,12.7) {$t_{\tiny\text{front}}$};
\node[inner sep=0pt] at (4.6,-1.25) {$x_{\tiny\text{front}}$};
\draw[thick,black,axisarrow] (8,-2) -- (8,13);
\node[inner sep=0pt] at (8.6,12.7) {$t_{\tiny\text{back}}$};
\node[inner sep=0pt] at (8.6,-1.25) {$x_{\tiny\text{back}}$};
\draw[plum,thick,dashed] plot (\x,6.25);
\draw[plum,thick,dashed] plot (\x,5);
\draw[sunrise,thick,dashed] plot (\x,4*\x/5 + 9/5);
\draw[sunrise,thick,dashed] plot (\x,4*\x/5 - 0.15);
\node at (4,5) [circle,draw=cornflower!70,fill=cornflower!20,inner sep=2pt] {};
\node at (37/3,35/3) [circle,draw=cornflower!70,fill=cornflower!20,inner sep=2pt] {};
\node at (8,6.25) [circle,draw=cornflower!70,fill=cornflower!20,inner sep=2pt] {};
\node at (-1/3,-5/12) [circle,draw=cornflower!70,fill=cornflower!20,inner sep=2pt] {};
\node at (5,6.25) [circle,draw=cornflower!70,fill=cornflower!20,inner sep=2pt] {};
\node at (7,5) [circle,draw=cornflower!70,fill=cornflower!20,inner sep=2pt] {};
\end{tikzpicture}
\end{document}
@mcnees
Copy link
Author

mcnees commented Nov 26, 2017

barn

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment