# Message Boards

Answer
(Unmark)

GROUPS:

2

# [WSC20] Simulating Relativistic Transformations for Complex Objects

Posted 10 months ago

Introduction: The linear Lorentz transformation of Special relativity can evaluate the coordinates of an event in a moving frame of reference from the corresponding coordinates in the stationary frame of reference. In this project, I have used the Poincare transformation, which generalises the Lorentz transformation to any possible initial configuration. However, applying the Poincare transformation to a complex object is not sufficient to simulate relativistic transformations. Simulating a relativistic transformation should give the ‘apparent’ position/shape of the object, as would be seen by a stationary observer, whereas a Poincare’ transformation gives the actual position/shape of the object. Distinguishing between the ‘apparent’ and ‘actual’ position of the object requires taking into account the ‘time delay’ of light, which is explained below.
The Problem for a Point - Time Delay: Simulating how objects look like when moving near the speed of light has been a controversial problem over the past century. To understand the source of confusion, imagine a point moving past you at 0.9c (90 percent of the speed of light). At time t = 0s on your watch, both you and the point are at x = 0. After time t = 10s on your watch, the actual position of the point will be at 9c metres away from you whereas the apparent position of the point will be somewhere in between 0 and 9c metres. This is simply because light must have been emitted by the point at an earlier time to ultimately reach your eyes at time t = 10s on your watch. And since the speed of the point is very close to the speed of light, the light from the object must have been emitted at about halfway. Therefore, solving this problem not only requires Poincare transformations but also the so called 'time delay ' of light, which allows us to distinguish between the 'apparent' and 'actual' positions of the object.
The Problem for an Object - Parameterization: Assuming that we have evaluated the required transformation law for a point, which gives us the 'apparent' position of a point at a time 't' on the observer's watch, the question of extending the same to a 3-D object still remains. A straightforward approach would be to first divide the object into n n=∞ n Manipulate[Show[Graphics3D[{{Red,PointSize[0.02],Point[{{0,0,0}}]}},AxesTrue,PlotRange{{-r+x-1,r+x+1},{-r+y-1,r+y+1},{-r-z-1,r+z+1}}],ParametricPlot3D[{x+(r*Sin[θ]*Sin[ϕ]),y+(r*Sin[θ]*Cos[ϕ]),z+(r*Cos[θ])},{θ,0,π},{ϕ,0,2π}]],{r,1,10},{x,0,5},{y,0,5},{z,0,5},SaveDefinitionsTrue] In[]:=
Out[]= Here θ π π x,y,z Since any coordinate on the surface of a sphere can be written as { x r y r r x r y r r ◼ PointTransform[ { x r y r r f x f y f z f x f y f z At this point, the reader might argue that parameterization of the surface is unnecessary since we can just evaluate point transform on the coordinate {x,y,F(x,y)} F(x,y)=+- 0.5 2 r 2 x 2 y x,y,F(x,y)} F(x,y) x t=0s t=10s ◼ As we can see, the domain of both of these spheres are different - for the first sphere, the x x θ π π ParametricPlot3D[{ f x f y f z
The PointTransform[ ] function: We will now look at a brief overview of the mathematical equations taking into account time delay. Our goal is to find a function that will determine the 'apparent coordinate' of a point at a time t S S' S' β { v x v y v z S t=0s S' A S a A β c P S 0 x p 0 x p 1 x p 0 x p 2 x p 0 x p 3 x p 0 x p 0 x p 0 ct p t obs 0 x obs 2 0 x 0 x obs 2 i x i x obs So 0 x 0 x obs β S' P S' S' 0 S' P P x x obs S Now, we can use the Poincare' transformation to calculate '0 x 0 x obs a Needs["Notation`"]Off[Symbolize::bsymbexs]Symbolize γ a β 0 x obs x obs x a β 0 x obs x obs x In[]:= To tell Mathematica that xobserverpos, betavec, avec, xprimevec are vectors, we use Assumptions: $Assumptions=(avec|xprimevec|xobserverpos|betavec)∈Vectors[3] In[]:= a x x obs β Out[]= We will now use the results from the paper Visual appearance of wireframe objects in special relativity by Thomas Muller and Sebastian Boblest which solves the aforementioned quadratic equation. We can solve the equation in Mathematica as well, but since the computation is fairly straightforward, we will borrow the results from the paper and use Mathematica for more complex computations afterwards. We define the quantity ρ as: ρ = gamma*(betavec.xprimevec)-xobservertime;TensorExpand[ρ] In[]:= - 0 x obs x β Out[]= We have used the TensorExpand[] function in Mathematica to simplify the expressions. We now define a couple more variables to use in our calculations: ρ = gamma*(betavec.xprimevec)-xobservertime;η = xprimevec+(gamma^2/(gamma+1))(betavec.xprimevec)*betavec + avec-xobserverpos;ωsquare=gamma^2((betavec.η - ρ)^2) - ρ^2 + η.η;TensorExpand[η]TensorExpand[ωsquare] In[]:= a x obs x β 2 γ x β 1+γ Out[]= - 2 ( 0 x obs 2 ( 0 x obs 2 γ a a a x obs a x 0 x obs 2 γ a β 2 γ 2 a β x obs x obs x obs x 0 x obs 2 γ x obs β 2 γ a β x obs β 2 γ 2 x obs β x x 0 x obs x β 0 x obs 2 γ x β 0 x obs 3 γ x β 2 γ a β x β 3 γ a β x β 2 2 γ a β x β 1+γ 2 γ x obs β x β 3 γ x obs β x β 2 2 γ x obs β x β 1+γ 3 γ 2 x β 4 γ 2 x β 2 2 γ 2 x β 1+γ 2 0 x obs 4 γ x β β β 1+γ 2 4 γ a β x β β β 1+γ 2 4 γ x obs β x β β β 1+γ 4 γ 2 x β β β 2 (1+γ) 2 4 γ 2 x β β β 1+γ 2 5 γ 2 x β β β 1+γ 6 γ 2 x β 2 β β 2 (1+γ) Out[]= We now calculate '0 x Module[{xprimetime},xprimetime = gamma*(betavec.η - ρ) - Sqrt[ωsquare];TensorExpand[xprimetime]] In[]:= 0 x obs a β x obs β x β 2 γ x β 3 γ x β β β 1+γ a a a x obs a x x obs x obs x obs x x x 2 γ a β x β 1+γ 2 γ x obs β x β 1+γ 2 γ 2 x β 1+γ 2 - 0 x obs x β 2 γ x β a β x obs β x β 2 γ x β β β 1+γ 1+γ 2 γ 2 0 x obs a β x obs β x β x β 2 γ x β β β 1+γ Out[]= To calculate the apparent position of the point P 0 x obs x PointTransform[gamma_,betavec_,xobservertime_,avec_,xobserverpos_,xprimevec_]:= Module[{ρ,η,ωsquare,xprimetime}, Assumptions{avec,xprimevec,xobserverpos,betavec}∈Vectors[3]; ρ = gamma*(betavec.xprimevec)-xobservertime; η = xprimevec+(gamma^2/(gamma+1))(betavec.xprimevec)*betavec + avec-xobserverpos; ωsquare = gamma^2((betavec.η - ρ)^2) - ρ^2 + η.η; xprimetime=gamma*(betavec.η-ρ)-Sqrt[ωsquare]; xvector=(gamma*xprimetime*betavec)+η+xobserverpos; Return[FullSimplify[TensorExpand[xvector]]]] In[]:= To summarise, given velocity vector β a S x obs x P S' 0 x obs S
Tests for our model: To test whether the equations above are correct, we can substitute specific values for the parameters to retrieve well-established textbook results. One such result is the doppler effect in which the equation for the apparent position of the point is given by x '0 x β x x obs t=0s a '0 x 0 x obs 2 ( 0 x obs 2 γ x obs x x S' x
Test 1 - The Doppler Effect: Evaluating the PointTransform for the above parameters, we obtain: PointTransform[gamma,betavec,xobservertime,0,0,0] In[]:= β β β β 0 x obs 2 ( 0 x obs 2 γ Out[]= One can easily check that '0 x 0 x obs 2 ( 0 x obs 2 γ |