# How to plot a parametric region representing a coordinate transformation

The Wikipedia page on Rindler coordinates shows a nice example of how a coordinate transformation can be represented in a plot.

They start with two coordinates $T,X$ with $0 < X < \infty,\; -X < T < X$. Then, they introduce two new coordinates $t, x$ by

\begin{align*}t &= \mathrm{artanh}\left(\frac{T}{X}\right) \\ x &= \sqrt{X^2-T^2}\end{align*}

From the plot below, it is clear how curves of constant $x$ and constant $t$ run in the old coordinate system:

How could you make a clear plot like this with Mathematica? I would like to include the labels as well.

I guess you need the inverse transformations to express T and X in terms of t and x. I entered them below

T = x Sinh[t]
X = x Cosh[t]

-
What does t = infinity mean here? As I understand arctan(T/X) runs merely from -1 to 1, and so t from -Pi/4 to Pi/4 ... ? –  BoLe Mar 28 '13 at 13:49

By ParametricPlot:

ParametricPlot[{x Cosh[t], x Sinh[t]}, {t, -Pi/4, Pi/4}, {x, 0, 4},
PlotRange -> {{0, 1.5}, {-1, 1}}, BoundaryStyle -> Dashed]


or, for fun:

ParametricPlot[{x Cosh[t], x Sinh[t]}, {t, -Pi/4, Pi/4}, {x, 0, 4},
PlotRange -> {{0, 1.5}, {-1, 1}},
BoundaryStyle -> Directive[Thick, Red, Dashed],
PlotStyle -> Pink, PlotPoints -> 40,
MeshShading -> {{Pink, Lighter[Red, 0.8]}}, Mesh -> 32, Frame -> False]


-
But, where are the labels for the various lines? :) (+1) –  rcollyer Mar 28 '13 at 20:08
Plot[{
Table[Tan[t] X, {t, -Pi/4, Pi/4, Pi/16.}],
Table[sign Sqrt[X^2 - x^2], {x, 0, 5}, {sign, {-1, 1}}]}, {X, 0, 5},
AspectRatio -> Automatic]


Basic plot only.

-

There seems to be something wrong with the image linked in the question. In the Wikipedia article, they define the coordinates with a parameter g:

rindlerXT[x_, t_, g_] := {x Cosh[g t], x Sinh[g t]};


But the image appears to be for g = 1/2, not g = 1 as claimed.

First, here is a labeling function. Nothing special -- it seemed convenient to put it in its own place.

labels[g_] := {Table[
Text[x == x0, rindlerXT[x0, 0.1 x0 + ArcSinh[0.16]/(g x0), g], {0, -0.5},
D[rindlerXT[x, t, g], t] /. {x -> x0, t -> ArcSinh[0.16]/(g x0)}],
{x0, 0.2, 1, 0.2}],
Table[Text[t == t0, rindlerXT[Cos[g t0], t0, g], {0, -0.8},
D[rindlerXT[x, t, g], x] /. {x -> Cos[g t0], t -> t0}],
{t0, -1/g, 1/g}],
Black, Text[x == 0, {0.16, 0.16}, {0, -0.7}, {1, 1}],
Text[t == Infinity, {0.75, 0.75}, {0, -0.7}, {1, 1}],
Text[t == -Infinity, {0.75, -0.75}, {0, -0.8}, {1, -1}],
Arrow[{{0, 1.19}, {0, 0}, {1.19, 0}}],
Text[Style["T", Italic, Large], {0, 1.2}, {1.8, 1.5}],
Text[Style["X", Italic, Large], {1.2, 0}, {1.5, 1.5}]};


I thought I'd show another way to get the grid. I join a couple of larger values of t to the ends of the grid to make sure the curves do not stop short. There are also some extra points in the t direction (constant x) so that the curves look smooth. The grid of points generated by Table conveniently contain the lines we wish to plot.

rindler[g_, extraTPoints_: 3] :=
Module[{color = Blend[{Red, Magenta}], tLines, xLines},

xLines =
Table[rindlerXT[x, t, g], {x, 0., 1.2,
1/20}, {t, ({-10, -5}/g)~Join~
Range[-Ceiling[4/g], Ceiling[4/g], 1/(8 extraTPoints)]~
Join~({5, 10}/g)}];
tLines =(* skip extra points t = -10, -5 and the extra intermediate points *)
Transpose[xLines][[3 ;; ;; extraTPoints]];

Graphics[{
Lighter[color, 0.7],
Thin, Line[xLines], Line[tLines],
Thick, Line[xLines[[1 ;; ;; 4]]],
Line[tLines[[1 ;; ;; 4]]],
{Black, Thick, Dashed, Line[{{1.5, -1.5}, {0, 0}, {1.5, 1.5}}]},
color, labels[g]},

PlotRange -> {{-0.15, 1.18}, {-1.2, 1.2}},
PlotRangeClipping -> True, Frame -> True, FrameTicks -> None,
FrameLabel -> {{None, None},
{Row[{"g = ", Sequence @@ If[g == 1, {1}, {"1/", 1/g}]}], None}},
ImageSize -> 250, BaseStyle -> 13]
]

Row[rindler /@ {1, 1/2}, "  "]


-