Relativity for games
Daiju Nakayama, Kin-ya Oda

TL;DR
This paper details a method to implement special relativity in computer games, accurately modeling relativistic effects like time dilation, Lorentz contraction, and causality for all entities, including nonplayer characters.
Contribution
It introduces a comprehensive approach to simulate special relativity in games, including relativistic physics, scene projection, and Doppler effect approximation, ensuring consistency for all objects.
Findings
Relativistic effects are accurately modeled for all game entities.
Causality is maintained using covariant velocities and light cones.
A method to approximate rigid bodies and Doppler effects in games is proposed.
Abstract
We present how to implement special relativity in computer games. The resultant relativistic world shows the time dilation and Lorentz contraction exactly, not only for the player but also for all the nonplayer characters, who obey the correct relativistic equation of motion according to their own accelerations. Causality is explicitly maintained in our formulation by use of the covariant velocities, proper times, worldlines, and light cones. Faraway relativistic scenes can be accurately projected onto the skydome. We show how to approximate a rigid body consisting of polygons, which is ubiquitous in computer games but itself is not a relativistically invariant object. We also give a simple idea to mimic the Doppler effect within the RGB color scheme.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputer Graphics and Visualization Techniques · Experimental and Theoretical Physics Studies · Relativity and Gravitational Theory
Relativity for games
Daiju Nakayama and Kin-ya Oda
∗* e-Seikatsu Co., Ltd., 5-2-32, Minami-Azabu, Minato, Tokyo 106-0047, Japan
∗ Cybermedia Center, Osaka University, Osaka 560-0043, Japan
† Department of Physics, Osaka University, Osaka 560-0043, Japan
E-mail: [email protected], [email protected]: [email protected], [email protected]
Abstract
We present how to implement special relativity in computer games. The resultant relativistic world shows the time dilation and Lorentz contraction exactly, not only for the player but also for all the nonplayer characters, who obey the correct relativistic equation of motion according to their own accelerations. Causality is explicitly maintained in our formulation by use of the covariant velocities, proper times, worldlines, and light cones. Faraway relativistic scenes can be accurately projected onto the skydome. We show how to approximate a rigid body consisting of polygons, which is ubiquitous in computer games but itself is not a relativistically invariant object. We also give a simple idea to mimic the Doppler effect within the RGB color scheme.
Contents
1 Introduction
The world is written in the language of quantum mechanics and relativity. They together provide the basis for the Standard Model of particle physics and for standard cosmology; see, e.g., Refs. [1] and [2] for reviews, respectively. For large length scales,111 To be more precise, this should be rephrased to “large length scales compared to the inverse of typical energy and momentum scales of the system in natural units.”
classical (i.e. nonquantum) mechanics works well. If all the objects have much lower speeds than the speed of light, nonrelativistic mechanics suffices.222 Here and hereafter, we neglect the general-relativistic effects: When we say “relativity”, it refers to special relativity. (In any case, human beings have not yet managed to reconcile quantum mechanics and general relativity; see e.g. Refs. [3, 4, 5].)
When both conditions are met, the ordinary Newtonian mechanics becomes a good effective description of nature.
Quantum mechanics is hard to visualize, as it is beyond our ordinary perception. On the other hand, there is no problem in visualizing relativistic effects, which can be significant even within the reach of classical (nonquantum) mechanics. The detection process of light by our eyes does not differ whether the light is emitted from the relativistic world or not. Therefore, there remains room to visualize a classical but relativistic world in computer games if we manage to formulate the implementation of a relativistic world. This is the goal of this work.
Up to now, virtually all games have been based on Newtonian mechanics, with only a few exceptions. In Refs. [6] and [7], a player can traverse a relativistic world with three and four spacetime dimensions, respectively, without any reaction from the nonplayer characters (NPCs). These two are the only games that have so far been found by the authors.
One may also find a good review on the visualization of relativistic effects in computers in Ref. [8]. Further developments after Ref. [8] can be found in Refs. [9, 10, 11, 12, 13, 14]. In these works, what is implemented are the relativistic effects for a moving observer in a world that does not evolve in time in itself. In other words, one cannot affect the world in this kind of implementation.
In this paper, we formulate how to implement time evolution in a special-relativistic world, namely, interactivity between the NPCs, the player, and all the other objects. In particular, one will see that causality is maintained by heavy use of past light cones and worldlines in four spacetime dimensions. One may find concrete implementation of all the ideas in this paper in a primitive first-person shooter (FPS) game in Ref. [15]. Sample game screens are shown in Fig. 1, in which the player is accelerating in a fixed background without affecting the world. In Fig. 2, the player is fighting against enemies interactively.
This paper is organized as follows. In Sec. 2, we review special relativity and spell out our notations. In Sec. 3, we show how to draw the fully special-relativistic world in computer games. Each observed object is drawn at the intersection between the observer’s past light cone and the object’s worldline. In Sec. 4, we present how to evolve the relativistic world, with an application to an FPS in mind. This is the first time that interactions between participants (namely, the player and the NPCs) are consistently taken into account without contradicting causality. Past and future light cones are heavily used for this. In Sec. 5, we give various ideas useful for a concrete implementation. In Sec. 6, we summarize our result. In Appendix A, we briefly summarize how the energy and momentum form a spacetime vector in relativity. In Appendix B, we show how the Lorentz contraction and dilation occur when a measuring rod is seen by an observer. In Appendix C, we present another formulation for the time evolution of the objects on the player’s past light cone. This co-moving evolution is more suitable for analytic treatment, and some of the results are shown too. In Appendix D, as a concrete example of the relativistic acceleration, we show how the rocket propulsion can be formulated. In Appendix E, we review the use of quaternions in order to handle the rotation in three spatial dimensions.
We have tried to make this paper more pedagogical and self-contained than ordinary physics papers, even for some elementary mathematics, since the subject is more interdisciplinary and we expect more computer-oriented readers.
2 Special relativity
We spell out our basic notations to describe a special-relativistic world.
2.1 Coordinates, vectors, worldlines
Usually computer games have or 3 spatial dimensions. We write a position vector in the -dimensional Cartesian (orthonormal) coordinate system as333 In terms of the ordinary notation, which is not used in this paper unless otherwise stated, they are written as .
[TABLE]
where the vector is written in the component and matrix notations in the second and third expressions, and we use curly and square brackets for them, respectively, unless otherwise stated. We generally write a vector with a bold-style letter such as . In the matrix notation, the transpose is given by
[TABLE]
The location of each particle in the world is represented by its position vector at a given time . In practice, in computer games, the “particle” may stand for a vertex in a polygon.
The time dimension is written as the 0th coordinate444 Throughout this paper, “” indicates that the left-hand side is defined by the right-hand side, and vice versa for “”.
[TABLE]
where is the speed of light, which is a physical constant in special relativity.555 In computer games, one may instead choose any value of to simulate a world with a slower speed of light, as in Ref. [7].
We can always take the natural units , which we employ in this paper unless otherwise stated. In the natural units, time and length have the same dimension: . When necessary, we can always come back from the natural units by recovering by dimensional analysis.
A unit length in computer programming is quite arbitrary, and we call it a “pixel” here just for concreteness. We may identify a pixel with an arbitrary physical length ; namely, is given in the units of . Then the speed of light in the program is
[TABLE]
which has units of .666 One may instead take whatever value of the speed of light in the unit of , regardless of the choice of , if one simulates a different world with a different speed of light, as discussed in footnote 5.
In practice, it is most convenient to store all the time information in pixels too, by using the speed of light (4) in Eq. (3). Then the velocity and acceleration, which will be presented in Eqs. (41) and (53), are given without unit and with units of , respectively.777 When one only uses the acceleration to change the velocity, as in Secs. 4.1 and 4.2, it would be more practical to give the proper-time difference in units of seconds. Then the time (as well as the position ), the velocity , and the acceleration would be given in units of pixels, dimensionless, and in the units of , respectively. In that case, the time evolution in the nonnatural units becomes schematically
where is given in units of as in Eq. (4).
The spacetime coordinates are collectively written as a -dimensional vector with :
[TABLE]
where we have again used the component and matrix notations in the second and third expressions in each line, respectively. We place the long arrow on top of any vector, such as , throughout this paper. The transpose in the matrix notation is
[TABLE]
In ordinary Newtonian mechanics, the trajectory of each particle from a time to can be written as
[TABLE]
This trajectory can be viewed as a worldline in -dimensional spacetime:
[TABLE]
where is the vector given in Eq. (5) and the real number parametrizes the worldline.888 One takes to be an affine parameter that is invariant under symmetries that one wants to impose. In the current Newtonian case, one may (but does not have to) identify the parameter as the time coordinate itself so that is defined rotation-invariantly. Instead we may also identify as an arbitrary monotonically increasing function of . This freedom is called the reparametrization invariance.
2.2 Newtonian mechanics
In Newtonian mechanics, let us consider a particle at time located at , having a (nonrelativistic) velocity
[TABLE]
The particle’s position after an infinitesimal time is given by
[TABLE]
or, to be more explicit,
[TABLE]
The velocity at each moment can be chosen quite arbitrarily in nonrelativistic computer games. If we use Newtonian mechanics, is determined from for a given input of the (nonrelativistic) acceleration :
[TABLE]
where the acceleration at is determined by Newton’s equation of motion:
[TABLE]
The explicit form of the force depends on the dynamics that you choose.
In computer games, the trajectory and worldline become discrete sets of and vectors, respectively, due to discrete time steps:
[TABLE]
2.3 Lorentz transformation
In spatial dimensions, the ordinary inner product of a pair of vectors, say and , is given by
[TABLE]
We may also write
[TABLE]
in the matrix notation. Note that .
We define the Lorentzian inner product of the vectors and by999 A dot product of vectors always denotes the Lorentzian inner product (18), and never the Euclidean one (16).
[TABLE]
Note that . We also use the notation
[TABLE]
interchangeably.
The Lorentzian inner product can be conveniently written in terms of the metric :
[TABLE]
where
[TABLE]
Matrix-wise, we may also write , where “” denotes a diagonal matrix.
We also define the Lorentzian norm:101010 The extra square bracket is placed for a reader unfamiliar with relativistic notation: Do not confuse the Lorentzian norm with the 2-component of which is denoted by .
[TABLE]
where
[TABLE]
is the ordinary -dimensional (squared) norm; we may also write in the matrix notation; we also write
[TABLE]
Note that the Lorentzian norm (22) can be negative. Any vector is called spatial (space-like), null (light-like), and temporal (time-like) when is positive, zero, and negative, respectively:
[TABLE]
It is straightforward to show that the Lorentzian norm behaves in the same way as the ordinary square for a sum of any vectors:
[TABLE]
Let us consider a linear coordinate transformation :111111 More generally, we impose the invariance under the Poincaré transformation:
The addition of a constant vector is the translation, a constant shift of the coordinate origin, which is trivially realized and is not treated in this paper. A reader unfamiliar with the translation should only memorize the fact that any subtraction of two coordinates is invariant under any translation: , and so is the covariant velocity (41). As the velocity is invariant under translation, the acceleration (53) becomes trivially invariant too.
[TABLE]
where we have also shown more explicit component expressions in the second and third lines; is a matrix,121212 A reader unfamiliar with the distinction between the upper and lower indices does not have to be bothered by it. In this paper, we do not raise and lower the time index 0. We can freely raise and lower the spatial indices under the metric convention (21). That is, for .
[TABLE]
Note that all the vectors are transformed by Eq. (27) simultaneously: In particular and are transformed by the same .
The transformation (27) is called the Lorentz transformation if it does not change the Lorentzian inner product (18):
[TABLE]
which is satisfied when and only when131313 The condition (30) is analogous to the condition for the spatial rotation , which is deduced from the rotational invariance under the coordinate transformation .
[TABLE]
where141414 In the component language, Eq. (30) reads
for .
[TABLE]
This can be shown as follows:
[TABLE]
where the matrix notation is used in the second step as in Eq. (20). That is, is a Lorentz transformation when and only when Eq. (30) is satisfied. It is important that any Lorentzian norm, say , is then Lorentz-invariant:
[TABLE]
Physically, we are looking for linear transformations that leave the speed of light invariant. If the speed of light is invariant, then a spherical wavefront of light that is emitted from the same point should be transformed to a spherical one. The wavefront of a spherical wave of light emitted from the origin at is represented by . We see that the Lorentz transformation indeed leaves it spherical:151515 The dilatation , with being a constant, also leaves the condition unchanged. The invariance under dilations, called the scale invariance, is violated by the conformal anomaly in quantum field theories in general. Otherwise, the dilatation is excluded from the symmetry of the system of our consideration under the following two assumptions [18]: First, a boost along a direction with a given velocity , combined with another boost along the same direction but with the negative velocity , becomes an identity transformation. Second, the length of a measuring rod perpendicular to the boost direction becomes identical to each other when its boost is with the velocity and .
.
In general, has degrees of freedom, and can be parametrized as
[TABLE]
where is a boost matrix and
[TABLE]
in which is an ordinary rotation matrix in spatial dimensions and . We note that obeys
[TABLE]
where I is the -dimensional identity matrix; see also footnote 13. The -dimensional rotation matrix has degrees of freedom. The remaining degrees of freedom in are in the boost matrix . A concrete parametrization of will be given in Sec. 2.5 after we introduce more physics.
2.4 Proper time and Lorentz-covariant velocity
Special relativity is defined as a theory that is invariant under Lorentz transformations. Therefore, it is important to write the theory in terms of Lorentz-invariant quantities. A Lorentz-invariant quantity can be formed as a Lorentzian inner product (20) or a norm (22). They are composed from vectors, which are Lorentz covariant. Therefore, it is important that things, such as the velocity and acceleration, are written as Lorentz-covariant vectors.
We start from a coordinate system . Suppose that an infinitesimal shift of the worldline parameter in Eq. (8) changes the position of the particle in spacetime dimensions:
[TABLE]
We can define the displacement vector:
[TABLE]
i.e.,
[TABLE]
There are three possibilities for the particle’s move in classical physics:
- •
An ordinary massive particle always goes time-like: , where the square denotes the Lorentzian norm (22).
- •
A massless particle, such as a photon of which light consists, always goes light-like: .
- •
A tachyon always goes space-like: .
The existence of a tachyon indicates a pathology of the system, and violates causality in general.161616 In quantum field theory, the existence of a tachyon indicates that one is on a false vacuum, which will eventually roll down to a true vacuum that does not have a tachyon. Therefore, you must be careful in introducing a tachyon in your computer game. Hereafter, we focus on massive and massless particles. The time difference in this step is . We assume that none of the massive and massless particles go backward in time.171717 In quantum field theory, a particle going backward in time is identical to its antiparticle going forward in time.
That is, we assume that .
For a massive particle, we define its proper time such that it increases by an amount
[TABLE]
for an infinitesimal evolution . It is important to note that the proper time is, by definition, manifestly Lorentz invariant.181818 For massive particles, we may e.g. use as the worldline parameter . Instead, we may also choose an arbitrary monotonically increasing function of as ; see footnote 8.
Note that the proper time is defined for each particle individually.
Now we can define the velocity for the massive particle:
[TABLE]
where is given in Eq. (40). By definition, is a Lorentz-covariant vector.191919 Something is Lorentz covariant if it transforms as a representation of the Lorentz transformations. In particular, if it transforms as a vector as in Eq. (42), it is a Lorentz-covariant vector.
That is, for a Lorentz transformation , it is straightforward to show that is covariant:
[TABLE]
where we have used the Lorentz invariance of defined in Eq. (40). Note that, by definition,
[TABLE]
We hereafter choose the spatial component as the independent parameters, and then the time component of the velocity is not independent:
[TABLE]
The evolution (37) for a small proper-time step now reads
[TABLE]
We note that the ordinary Lorentz-noncovariant velocity in this particular coordinate system is given by
[TABLE]
where and are given in Eq. (39) and, in the last step, we have tentatively come back from the natural units for a reader unfamiliar with dimensional analysis; see Eq. (3). Using this Lorentz-noncovariant velocity, one can show that the spatial component of becomes
[TABLE]
i.e.,
[TABLE]
There is a one-to-one correspondence between and . We see that for a massive particle, the possible values of are , or when we recover . On the other hand, can be arbitrarily large. When the particle’s velocity is much smaller than the speed of light , we see that the covariant and noncovariant velocities match each other:
[TABLE]
where is the Landau symbol representing the terms of order and higher as .
From Eq. (40), we can write the infinitesimal time difference in this particular coordinate system as
[TABLE]
In terms of , the relation (50) can be written as
[TABLE]
where the Lorentz factor is defined by
[TABLE]
Note that and that . Hereafter, does not play any role in the actual formulation of the relativity since is a Lorentz-noncovariant quantity, and we simply call (rather than ) the velocity unless otherwise stated.
We also define the acceleration,
[TABLE]
where is given in Eq. (40).202020 The spatial component of acceleration, , differs from the one appearing in the nonrelativistic equation of motion (13): The relativistic and nonrelativistic ones are and , respectively. The latter never appears hereafter.
Note that, by taking the derivative of , we obtain
[TABLE]
and hence
[TABLE]
in any coordinate system. In particular, whenever .
2.5 Rest frame
Let us show that we can always take a coordinate system in which a particle appears to be at rest. Suppose that a particle has a velocity in a particular coordinate system at a given single moment when its proper time is . Then the following Lorentz transformation makes :
[TABLE]
where .212121 In spacetime dimensions, Eq. (56) becomes
which reduces to the celebrated form appearing in Einstein’s original paper [18],
when written in terms of the noncovariant velocity .
More explicitly,
[TABLE]
One can verify that indeed transforms to rest, that is the inverse matrix of , and that satisfies the condition for the Lorentz transformation (30), respectively:
[TABLE]
In the new coordinate system , namely the rest frame for the particle at the proper time , we have at that moment. Hereafter, we write quantities in someone’s rest frame in upper case in general, unless otherwise stated. During the subsequent infinitesimal time evolution, we get because . That is, the proper-time flow of the particle is nothing but the time flow in each rest frame in each time step. Therefore, the proper time is the time felt by the particle itself. Now we can interpret from Eq. (51) that the time difference in an arbitrary frame (other than the rest frame) is always larger than the proper time felt by the moving particle itself.222222 The time difference is not an actual time difference seen by any observer. We will see that the actual time difference for an observer is the one deduced from the time foliation by the observer’s past light cones rather than by an equal-time slice. See Sec. 3.1.
This phenomenon is called time dilation.
Einstein’s equivalence principle asserts that the physical law for a moving particle is the same as the one that is Lorentz-transformed from the law of the particle at rest. That is, one can write the relativistic equation of motion just by replacing by :232323 As both sides are covariant, the equation of motion becomes invariant under the Lorentz transformations: is transformed to , which comes back to by multiplying on the both sides.
[TABLE]
where is nothing but the vector transformed from the rest-frame force felt by the particle:
[TABLE]
Note that the 0th (time) component of the force in the rest frame must be zero in order for the equation of motion (59) to hold; see the discussion after Eq. (55). That is, the 0th component of the equation of motion does not have independent information.
Conversely, for a given acceleration in the rest frame, we obtain the acceleration in any frame in which the particle has the velocity :
[TABLE]
That is,
[TABLE]
In particular, if there is no acceleration in the rest frame , the acceleration vanishes in any frame . We may also show that, when in a frame, then the acceleration vanishes in any frame.242424 Suppose that in a frame: . We write the velocity in this frame . Then the rest-frame acceleration reads
Since , results from the time component of this equation. This means . Any Lorentz transformation of the zero vector is zero: . Therefore the acceleration is zero in any frame if in a frame.
We note that it is perfectly legitimate to work within the framework of special relativity in order to handle an acceleration unless it is due to gravitational interactions. When and only when the gravitational interactions are strong enough, we need general relativity for a full treatment.
3 Drawing the world
We show how to draw the relativistic world for a given set of worldlines of all the objects. A schematic figure for this section is presented in Fig. 3.
First we arbitrarily choose a reference frame and store all the information as written in this coordinate system. In practice, it is convenient to choose a reference frame such that background objects are at rest in the frame.252525 In our real Universe, we can define the absolute rest frame such that the dipole component of the cosmic microwave background vanishes; see Ref. [19] for latest observational results on the cosmic microwave background.
Hereafter, we write the reference-frame quantities in lower case, unless otherwise stated.
3.1 Drawing the world on the observer’s past light cone
For an observer at a spacetime point , the hypersurface consisting of possible light rays that can come to is the past light cone (PLC):
[TABLE]
For later use, we also define the future light cone (FLC):
[TABLE]
We say that a spacetime point is on the past side of when (time-like separation) and ( is on the past of ). We also say that is on the future side of when is neither on nor on its past side. The observer can see the world sliced by its , i.e., the observer can know things on and its past side. It is important that the PLC is Lorentz invariant in the sense that, if a particle is on the PLC, it remains so in any Lorentz-transformed frame.262626 More precisely, this is the case for the proper orthochronous Lorentz transformation that satisfies and , where and follow from Eq. (30) generally. Any Lorentz transformation is either proper orthochronous or obtained by multiplying a time reversal and/or a space inversion onto the proper orthochronous one.
This is also the case for the notion of the past and future sides of the PLC, and similarly for the FLC and both its sides.
Let be the worldline of the th particle:
[TABLE]
where and are the initial and final proper times of the worldline. The observer at sees this particle at the intersecting point between and , which we write as
[TABLE]
hereafter. How to determine the intersection in a concrete implementation will be explained in Sec. 3.3.
An observer having a velocity in the reference frame sees the world in the observer’s rest frame:272727 If one wants to place the observer at the origin, one may take, so to say, a central frame , which differs from the rest frame (67) just by a translation, a constant shift of the coordinate origin by the vector ; see footnote 11.
[TABLE]
Each of all the other particles, say the th one, is seen by the player as located at
[TABLE]
where .282828 and are the same. We use the latter in the left-hand side of Eq. (68) so that all quantities are given in the rest frame there.
Similarly, the velocity of the th particle at is seen by the player as
[TABLE]
These are all needed to draw the world fully relativistically.
3.2 Discrete worldline
The program stores the worldline of each particle in the reference frame . Due to the iterations, each worldline becomes a discrete set of its past spacetime points, just as in the Newtonian case (15):
[TABLE]
where () is the parameter of the worldline, which can be identified as the proper time of the particle—we have abbreviated them as —and we always order from past to future: . The velocity between and is given as
[TABLE]
where .
3.3 Intersection between worldline and PLC
As discussed above, it is important to compute the intersection between a worldline and a light cone. Let us spell out the method to obtain the intersection between the worldline (70) and :
- •
From the past to the future with , we check if is on the past side of ; namely, check if
[TABLE]
The first point that violates this condition is the point that is closest to in on the future side of .
- •
Between the adjacent points and , the worldline is obtained by linear interpolation:
[TABLE]
where .
- •
The intersecting point should satisfy
[TABLE]
i.e.,292929 The other point gives the intersection with the future light cone.
[TABLE]
where303030 be careful with the abuse of notation: here has nothing to do with the Lorentz factor.
[TABLE]
This value of gives the intersecting point .
3.4 Short summary
At each moment, we draw all the objects as if each of them is placed at the spatial position . Once all the spatial positions are given, concrete implementation of the drawing of the world is the same as in ordinary nonrelativistic 3D games. An approximate treatment of a rigid body will be presented in Sec. 5.3.
4 Time evolution
We show how to take into account the relativistic time evolution of the system, with an application to a first-person shooter (FPS) in mind. As reviewed above, a game in Newtonian mechanics draws the world at each equal-time slice. One problem is that such a time slice is not Lorentz invariant and is not compatible with relativity. Instead we employ the foliation of spacetime by the PLCs of the player, which is Lorentz invariant, as reviewed above. A schematic diagram is shown in Fig. 4.
4.1 Player’s time evolution
What should the time evolution be? At each time step, the future-most surface of the world that is perceivable by the player is , on which the particle’s latest position is located. In the next iteration, the game program calls the real time passed, , which is identified as the player’s proper time passed, . In the iteration, the player’s proper time, position, and velocity move to, respectively,
[TABLE]
with
[TABLE]
where is the acceleration of the player given at its rest frame, determined by
[TABLE]
in which is the ordinary Newtonian force felt by the player in its rest frame, coming both from the player’s own input and from influences from its environment and others. Concrete examples of how to give will be shown in Sec. 4.5.
We update the values of the player’s proper time, position, and velocity as in Eq. (79). Now the player’s new position is determined, and we know the new which is used to draw the world in the next iteration.
We add the new point
[TABLE]
to the last of the player’s worldline set, as described in Sec. 3.2. The player may have also done some action at before its move, e.g., have shot a beam from , which will be treated later in Sec. 4.4.
4.2 Others’ time evolution
The th particle at determines its own move, and extends its worldline , according to its own acceleration and influences from others, until the extended hits the new . The new intersection point is drawn in the next iteration as above.
Now we show how to determine the moves of NPCs. Suppose that an NPC, say the th one, is at , and has a velocity and a proper time , all in the reference frame. The NPC can see the world sliced by its own , or, more precisely, can know things on and its past side. According to the available information, we determine the NPC’s acceleration in the reference frame; see Sec. 4.5 for details. The NPC’s move is
[TABLE]
where can be chosen to be , or else whatever (fixed or variable) value according to the NPC’s reflexes. In general, the resultant is still on the past side of . We iterate until it goes beyond , namely, until the following condition is violated:
[TABLE]
In each step, the NPC may also do some action, as will be described in Secs. 4.4. Note that the NPC at sees the world cut by its own , and cannot see further moves of others beyond it: Any other NPC, say the th one, is seen by the one at as located at the intersecting point between W_{m}:=\Set{\overrightarrow{x_{m}}\!\left(\tau_{m}\right)}{\text{all \tau_{m}}} and , which we write as . To repeat, the one at can know things only on the past side of .
4.3 Aiming
We show how an observer can estimate the future position of other objects. A schematic diagram is shown in Fig. 5. The observer at sees the world sliced by its own , on which the perceivable future-most position of another object, say the th NPC,313131 Here this “th NPC” may indicate the player too.
is located as . From the given information, wants to predict the th NPC’s future move.
Let be its velocity at . We want to know the intersection between the FLC of ,
[TABLE]
and the would-be worldline of the th NPC extended in the direction of :
[TABLE]
The value of at the intersection is obtained from
[TABLE]
where we have used the PLC condition and Eq. (43) in the last step. That is, the projected location of the th NPC onto ’s FLC is given by
[TABLE]
namely, at
[TABLE]
This point is nothing but the intersection with the FLC mentioned in footnote 29. The observer will see this coordinate in its rest frame at
[TABLE]
4.4 Shooting
We continue the discussion from the previous subsection. Now wants to shoot a beam or bullet, , at the th NPC from the location , when its velocity is .
In ’s rest frame , we define the “future beam/bullet cone” (FBC):
[TABLE]
where is the location of in its rest frame, is the speed of satisfying , and is a possible direction in which can be shot.
In ’s rest frame, the would-be worldline of th NPC (88) becomes
[TABLE]
where and . Its intersection with , if it exists, is given by , i.e.,
[TABLE]
From Eq. (95), we get
[TABLE]
and hence
[TABLE]
where we have defined the following (linear and bilinear) operations:
[TABLE]
Note that this operation is not Lorentz invariant. Solving Eq. (98) as in Sec. 3.3, we get323232 Here is the square of . Do not confuse it with the norm (99): the distinction is made by the comma inside.
[TABLE]
It is possible that the would-be worldline (94) does not intersect with , in which case the expression inside the square root in Eq. (101) becomes negative. In such a case, may still shoot in the direction given in Sec. 4.3, which always exists.
can shoot a beam/bullet whose worldline is given in ’s rest frame by
[TABLE]
where
[TABLE]
in which
[TABLE]
In the reference frame, the beam/bullet worldline (102) becomes
[TABLE]
where
[TABLE]
4.5 Acceleration
Now we exhibit how ’s acceleration, used in Sec. 4.2, is determined. There can be several sources for ’s acceleration:
- •
To match ordinary human common sense, one may suppose that the spacetime is filled with (fictitious) air or fluid that is static in the reference frame, and may assume a friction force that is a function of the velocity of each particle in the reference frame:
[TABLE]
where can be any function of , which is typically and for the laminar and turbulent drags, respectively. Note that the time component can always be obtained from :
[TABLE]
- •
can accelerate in a direction that wants. That is, may self-accelerate by a magnitude in a direction in its rest frame. Then ’s self-acceleration in its rest frame is given by
[TABLE]
and in the reference frame by
[TABLE]
See also Appendix D for a more elaborate rocket propulsion.
For example, may want to accelerate in the projected direction of the th particle on ’s FLC given by Eq. (91):
[TABLE]
The direction of acceleration, , in ’s rest frame can be obtained from the spatial component of the vector
[TABLE]
- •
We show how to implement a collision, namely, a repulsive force exerted by the th particle onto , without contradicting causality. Suppose that the th particle is on , and we write its and ’s locations as and , respectively, in the th particle’s rest frame. We write the corresponding velocities as and , respectively. We write the displacement vector from to in ’s rest frame as:
[TABLE]
We assume that the th particle exerts a strong repulsive force when the distance in its rest frame is smaller than its typical radius :
[TABLE]
where
[TABLE]
in which is a constant and
[TABLE]
is the Heaviside step function. If this repulsive force is the only force acting on , it is proportional to ’s acceleration , and hence the condition determines the time component of :
[TABLE]
Then the acceleration from this repulsive force is, in the reference frame,
[TABLE]
We sum up coming from all the particles on .
In the end, ’s total acceleration is given by the vector sum
[TABLE]
which is then put into Eq. (85).
5 Miscellaneous ideas
We show various ideas to make more realistically relativistic scenes.
5.1 Faraway scenes on the skydome
One puts a sufficiently large sphere that surrounds the player in the player’s rest frame, and draws a background texture of the faraway scene on it: At an angle on the sphere, we draw the corresponding texture at in the texture coordinates. Let us see how is determined for a given direction .
Let be the reference frame in which faraway background objects are at rest. Suppose that the player and a background object are at and , respectively, in this frame. In this subsection, we parametrize ’s position by
[TABLE]
Using ordinary polar coordinates, the intersection between ’s worldline and the player’s PLC can be parametrized as
[TABLE]
where we have assumed that is so far away that player’s position can be regarded as being at the spacetime origin: . Conversely, we may write the zenith and azimuthal angles as
[TABLE]
We may use texture mapping of the background image using the equirectangular projection. For example, in OpenGL, the background scene at the angle in the reference frame corresponds to the texture coordinates :
[TABLE]
where and .
Let us consider light that comes into the player’s eyes from the direction in the player’s rest frame. Let be the position of the faraway object seen by the player in the player’s rest frame:
[TABLE]
We parametrize it as
[TABLE]
where is very large.333333 Be careful with the abuse of notation: This has nothing to do with the rotation matrix in Eq. (35).
How is related to , used to pick up the drawn texture point in Eq. (124)?
Equation (125) implies that
[TABLE]
For a given direction , we determine by Eq. (126) up to the overall constant , and then obtain by Eq. (127). Once is known, are given by Eq. (123), and then the corresponding texture coordinates to be drawn are obtained by Eq. (124). Note that the overall normalization drops out of the final expression since the coordinates always appear as ratios in Eq. (123). In practice, we may put .
5.2 2D background
2D games can be handled similarly. We explain how to draw a background using orthogonal projection in the D spacetime. We assume for simplicity that the player’s view does not rotate with respect to the background. Suppose that the background is at rest at the reference frame , where is a 3()D spacetime vector, whose spatial components consist of a spatial vector .343434 Recall that does not denote -squared but the second component of throughout this paper, unless otherwise stated.
Let be the texture coordinates of the background, with and . Suppose that the background texture is mapped onto a region and :
[TABLE]
When the player’s velocity is in the reference frame, we want to know which point in the texture coordinate is picked up for a given point in the player’s rest frame :
[TABLE]
where we have chosen the origin of to be the point corresponding to in the reference frame.
The player sees the world sliced by its PLC. Therefore, a natural way to draw the 2D world is to project the player’s PLC onto the - plane. Let the drawn region on screen be and . A spatial point in this region has the time coordinate
[TABLE]
on the player’s PLC. The corresponding point in the reference frame is
[TABLE]
From this, we can read off the values of the spatial components , which can be put in Eq. (128) to get the corresponding texture coordinate .
By this PLC formalism, one may improve the drawing of the world by an equal-time slice in the player’s rest frame, employed, e.g., in Ref. [6].
5.3 Approximately rigid body
In the relativistic world, it is impossible to have an exactly rigid body, as it violates the locality. However, a thing is usually introduced as a rigid body, described by a set of polygons, in computer games. We show how to treat such a thing approximately.
Suppose that a body has vertices that are specified by spatial vectors
[TABLE]
where . Each vector specifies the position of the corresponding vertex measured from ’s reference point, somewhere near its center. Hereafter, we call this point, somewhat sloppily, ’s center.
Let be a rotation matrix that represents the orientation of , which differs at each spacetime point that consists of the worldline .353535 In practice, one can also store along with each in the worldline data of .
At each worldline point , the object has the velocity (71) that is uniform for all the polygon vertices (132): ’s position in its rest frame is given by
[TABLE]
More precisely, represents the position of ’s center in its rest frame, at the tth point in ’s worldline.
We approximate that is a rigid body, i.e., rotates all the vertices (132) simultaneously: The position of each vertex, say the th one, in ’s rest frame is given by
[TABLE]
when is at the th point on its worldline. How can one determine its time coordinate ? We approximate that each worldline of the vertex is parallel in spacetime to that of ’s center: It is proportional to . Then we can obtain the intersection between the worldline of the th vertex and the player’s PLC from the condition
[TABLE]
i.e.,
[TABLE]
where is the player’s position in ’s rest frame. In the original reference frame, the position of the th vertex is
[TABLE]
where the time and spatial components of are given by Eqs. (134) and (136), respectively. This can be transformed to that in the player’s rest frame as in Sec. 3.1 when the world is drawn.
Rotation of the rigid body, or, more explicitly, the information on above, can be most easily handled by using quaternions; see Appendix E for a review. We specify the rotation of a rigid body from its basic position by an angle around a direction using the quaternion
[TABLE]
where and . There are three independent degrees of freedom in total in and , which coincide with the physical degrees of freedom, namely, a unit vector to specify the front (upward, or whatever) direction, and an angle to determine the rotation around that direction.
2D games can be handled similarly. Usually an object is drawn by a rectangular picture. We may divide the picture into cells, where and are appropriate numbers, typically of order 10 to 100. Then we can treat the vertices as above, and map the texture on each cell.
5.4 Doppler effect
Light that comes into our eyes has a spectrum; namely, its intensity is a function of the angular frequency :
[TABLE]
where is related to the frequency and the wavelength by
[TABLE]
Here and hereafter, we recover from the natural units in the expressions involving . When light ray points in a direction , where is a unit vector, it is known that the wave vector363636 In an nonrelativistic context, the vector is usually called the wave vector.
[TABLE]
is proportional to the photon’s momentum and that transforms as a vector under the Lorentz transformation; see Appendix A.
Suppose that a source and an observer have their velocities and , respectively, in the reference frame. Let us consider light of an angular frequency pointing towards with in ’s rest frame:
[TABLE]
The direction can be obtained as follows: When at observes the light emitted from , then must be on :
[TABLE]
and . In this case, is proportional to
[TABLE]
Then we obtain
[TABLE]
The light (142) is observed by as the wave vector
[TABLE]
The angular frequency observed by is then the time component of , namely . Note that is proportional to :
[TABLE]
where is a constant that can be computed from the above procedure. Then the spectrum (139) is perceived by as a new spectrum :
[TABLE]
This is all needed to determine the Doppler effect on light.
Most fundamentally, one should consult the above procedure. In practice, it does not work. Why? In the RGB color model used in computers, a color is specified by three numbers that roughly represent the perception of three types of cone cells in our eyes. For a given spectrum , the values of , , are obtained, up to an overall normalization of , by
[TABLE]
where the CIE standard observer color matching functions , , and are given in Ref. [20] and and in the CIE 1931 color space. If were given to specify a color, instead of , then we could calculate the new values of for :
[TABLE]
The problem is that one needs the full spectrum for the exact relativistic computation, whereas one cannot know the functional form of from merely the three numbers , , and .
Here we present a naive procedure to mimic the Doppler effect. For blackbody radiation, is known as a function of the temperature . That is, we know the functions
[TABLE]
for the blackbody radiation; see, e.g., Ref. [21] for possible approximate fit functions.373737 The explicit form in Ref. [21] is
For a given set of , we may then naively compute color-specific temperatures by inverting Eq. (155).383838 A color function, say, may not be a single-valued function of but a twofold one, as in footnote 37. Even then, one may in practice take the lower (higher) value of when () for a given set .
Physically, a temperature roughly behaves as an energy, which is the 0th component of the energy-momentum vector, proportional to the wave vector (163) for photons. Therefore, the new color temperature for would be estimated by for each color. Then one may get the naive Doppler-shifted colors as
[TABLE]
We have shown how to mimic the Doppler effect within the RGB color scheme. As said, the full treatment requires the inclusion of the spectrum of the light for each pixel, instead of the current approximation using the three RGB numbers. That will allow visualization of the currently invisible ultraviolet and infrared lights when one is boosted significantly by a Lorentz transformation.
6 Summary
We have shown how to implement special relativity in computer games. The past light cone is used for the foliation of the world without violating causality. This is the first realization of interacting nonplayer characters that perceive the world and react to others, both relativistically without violating causality, under fully relativistic time evolution. In the formulation, the notion of the Lorentz-covariant velocity is extensively used, instead of the more widely used noncovariant velocity. We have shown several ideas to approximate the relativistic world such as the relativistic generalization of the skydome, rigid body, and Doppler effect.
You may find an implementation of the ideas presented in this paper in Ref. [15].
Acknowledgements
The idea of a relativistic game occurred to K.O. while watching Ref. [22]. K.O. thanks all the participants of the class “Making relativistic games” at Osaka University during 2009–2012 and 2015. The work of K.O. is partially supported by JSPS KAKENHI Grant Nos. 15K05053 and 23104009.
Appendix
Appendix A Relativistic energy and momentum
From the Lorentz-covariant velocity , we may define the Lorentz-covariant momentum
[TABLE]
where is the mass of the particle. Alternatively, we may give the momentum first, and define to be its Lorentz-invariant norm
[TABLE]
which is a fixed constant for each species of particle.393939 We have assumed that is either time-like or light-like . A particle having space-like momentum moves faster than the speed of light, and is the tachyon discussed in footnote 16.
The velocity is then given as for a massive particle.
The time component of is identified as the energy of the particle:
[TABLE]
From the definition of mass (158), we obtain
[TABLE]
When the particle is at rest , its energy reduces to its mass, and we get Einstein’s celebrated formula for the rest energy
[TABLE]
where we have tentatively recovered the speed of light . Note that the ratio of momentum to energy gives the ordinary noncovariant velocity
[TABLE]
in any coordinate system.
For a massless particle such as a photon, of which light consists, the velocity cannot be defined, and rather its momentum is a suitable physical quantity. In quantum mechanics, photon’s momentum is related to the wave vector by
[TABLE]
where is the reduced Planck constant and, tentatively recovering from the natural units,
[TABLE]
in which and are the angular velocity and the wave vector, respectively. Note that
[TABLE]
where is the frequency and is the wavelength for the th direction. Note also that the photon momentum vector is light-like:
[TABLE]
The relation (163) is used when taking into account the Doppler effect in Sec. 5.4.
Appendix B Lorentz contraction and dilation
We show that a measuring rod moving towards the observer looks longer than when it is at rest, because of the Lorentz “contraction”, due to the PLC foliation. For simplicity, we work in the -dimensional spacetime with only spatial dimension.
We consider a measuring rod that has a length in its rest frame. Suppose it stays at rest forever in its rest frame. Then its “worldsheet” can be written in the rest frame as
[TABLE]
We call and the left and right ends of the rod, respectively.
Suppose that the rod has a velocity in the reference frame, where the Lorentz factor is
[TABLE]
Here and hereafter in this section, we do not make the unnecessary distinction between and as we work in the spatial dimension. See Fig. 6 for a schematic plot. The reference frame is obtained from the rod’s rest frame by
[TABLE]
where
[TABLE]
We see that the time coordinate of the rest frame is written as and hence
[TABLE]
where is the noncovariant velocity. In the reference frame , the rod appears to move with the (noncovariant) velocity , and its length measured in is contracted to be as varies from 0 to . That is, the worldsheet of the rod can be written in the reference frame as
[TABLE]
where . This is the celebrated Lorentz contraction.
However, the contracted length is the length at an equal-time slice , which is not really a length measured on any observer’s PLC. The equal-time slices are represented by the blue dashed horizontal lines in Fig 6. To see the real measured length, let us prepare an observer staying at rest at in the reference frame. We restrict ourselves to the case of a right-moving rod without loss of generality. The observer sees the rod from .
When the rod is moving away from the observer, , the left and right ends of the rod intersect with at and :
[TABLE]
Therefore, the observed length of the rod is
[TABLE]
Using the identity , we see that this is shorter than the Lorentz contraction .
When the rod is moving towards the observer, , the left and right ends of the rod intersect with at and :
[TABLE]
The observed length of the rod is
[TABLE]
where we have used the identity . We see that the observed length is longer than when the rod is moving towards the observer.
To summarize, when we write the departing velocity of the rod , which is and in Eqs. (174) and (176), respectively, the apparent length of the rod is
[TABLE]
In the left panel of Fig. 7, we show this factor as a function of . We also show it in the right as a function of the noncovariant departing velocity .
Appendix C Evolution in co-moving frames
To cultivate physical intuition, it is instructive to formulate how the player, in its rest frame at each moment, sees the motion of the others that are always on the player’s PLC. The formulation in Sec. 4.2 is better than the one in this section in the sense that it takes into account the time dilation more accurately in the discretized time steps, while the formulation in this section makes the time evolution more tractable in an analytic treatment.
Suppose that the player’s position and velocity at its proper time are and , respectively, in the reference frame. After an infinitesimal time felt by the player, we shift the player’s proper time, position, and velocity as404040 holds up to the term because . Throughout this section, we shall neglect the quadratic and higher-order terms of infinitesimal quantities. In an actual implementation with finite time step, one may always reset any time component of the velocity to whenever necessary.
[TABLE]
where is the player’s acceleration at the spacetime point in the reference frame.
In the PLC foliation, all the other objects are located on : The th-particle’s position satisfies and
[TABLE]
In the iteration (178), the th particle moves onto
[TABLE]
where is the acceleration of the th particle at in the reference frame.
As the player has moved to , the hypersurface seen by the player in the next step is . The amount of the proper-time difference is determined by the requirement that is on :
[TABLE]
with . Concretely, we obtain
[TABLE]
where we have used and Eq. (179), as well as , in the first and second steps, respectively. Note that . In the limit , we get
[TABLE]
where indicates that the quadratic and higher-order terms of the infinitesimal quantities are neglected.414141 In an actual implementation with finite , Eq. (183) is more usable than Eq. (184).
As in footnote 27, let us introduce the central-frame coordinates in which the player at its proper time looks at rest at the spacetime origin: and . The corresponding central-frame position vector to the reference-frame one is
[TABLE]
The central frame differs at each proper time of the player , and we call it the frame; we also call them collectively the co-moving frames. In particular, the player is always at rest at the origin in the co-moving frames: and . Here and hereafter, we write the quantities in the co-moving frames in a curly upper-case letter. We continue to write the quantities in the reference frame and in each rest frame (at a particular moment) in lower and upper cases, respectively. We consider the foliation by the player’s PLCs and formulate the time evolution as always pulled back to the player’s central frame at each moment.
At , the co-moving-frame coordinates are identified with the -frame coordinates :
[TABLE]
where is given in Eq. (185). For a given acceleration in the frame, the player’s next location and the velocity after an infinitesimal time , felt by the player, are424242 The reference-frame acceleration reads , from which we may obtain the reference-frame velocity in the next step: .
[TABLE]
At , every object is located on . In the frame, we may parametrize the location of the th particle as
[TABLE]
due to the PLC condition , derived from with .434343 One might think that the PLC condition leads to by differentiating it with respect to . This is not the case because the th-particle’s trajectory is not on the but away from it. That is, does not hold along the path of the th particle.
After the infinitesimal time evolution, the th particle moves onto . In the frame,
[TABLE]
where we see from Eq. (184) that444444 As Eq. (184) is manifestly Lorentz invariant, it is applicable in any frame.
[TABLE]
in which we have used , , and . We see that a particle coming toowards the player, , spends a longer proper time compared to a particle going away from the player, ; see Fig. 8.
The Lorentz transformation from the frame to the frame is
[TABLE]
and the co-moving coordinates at are obtained from in the frame by the following Poincaré transformation:
[TABLE]
Accordingly, any velocity in the frame is transformed as
[TABLE]
Putting and into and in the above expression, respectively, we get
[TABLE]
where is given in Eq. (192).
To summarize, the basic evolution equation in the co-moving frames is
[TABLE]
where
[TABLE]
with and being given in Eqs. (196) and (189), respectively, and similarly for ; we have used and ; and we have abbreviated the symbol in the left- and right-hand sides of Eqs. (198) and (199).
The second terms in the right-hand sides of Eqs. (198) and (199) are the extra contribution from the Lorentz transformation that pulls back to the player’s central frame in every time step. When the player accelerates towards , the th-particle’s apparent velocity (198) receives the extra contribution that kicks the th particle away from the player. If you accelerate towards an object, its apparent position becomes farther away from you! On the other hand, the Lorentz transformation affects the apparent velocity (199) by , so the th particle’s apparent velocity tends to be pulled back to the player. These two effects compete with each other, and should eventually bring the th particle back to the player if the player continues to accelerate towards it.
Let us see this in the following way. For simplicity, we let the th particle stay at rest in the reference frame: ; see footnote 24. We consider a constant acceleration of the player towards the th particle in the player’s rest frame:
[TABLE]
where is a constant. Note that . Putting this into Eq. (199), we obtain
[TABLE]
We set the initial condition such that the player had also been at rest in the reference frame before its acceleration. Then the direction remains constant throughout the time evolution until the th particle collides with the player, and the apparent velocity of the th particle is proportional to its direction: . We parametrize the apparent position and velocity as
[TABLE]
where is positive and negative when the th particle appears to be moving away and coming back to the player, respectively. Then Eq. (202) reads
[TABLE]
which has the solution
[TABLE]
under the initial condition . Putting this into Eq. (198), we obtain
[TABLE]
which is solved as
[TABLE]
under the initial condition , where is the initial apparent distance. The apparent velocity and acceleration read
[TABLE]
We see that the particle indeed appears to be moving away from the player at the beginning: The apparent velocity is positive while , with the critical value being given by
[TABLE]
where, in the last step, we have recovered the speed of light from natural units. The apparent distance at is, in nonnatural units,
[TABLE]
When the apparent distance is small, , we get . Then if one wants to see this effect for one second, the apparent distance must be larger than , which is roughly the distance between the Earth and Moon . Even when the apparent distance is of that order, an acceleration of the order of the gravitational acceleration on Earth, , elongates from only by a fraction of , i.e., by . This is a tiny effect for the distance and acceleration of everyday life. In computer games, one may consider a very large distance and/or acceleration to see such a relativistic effect.
The final proper time of collision is
[TABLE]
That is, the proper-time difference between the turnover and collision is
[TABLE]
The corresponding apparent speed is
[TABLE]
which exceeds the speed of light when . Note that this does not lead to any contradiction: The distance for a given proper-time interval can be arbitrarily large, as is the case for the covariant velocity discussed in Sec. 2.4.
Recovering the speed of light , we may rewrite Eqs. (208)–(210) in nonnatural units:
[TABLE]
In a formal expansion of Eqs. (216)–(218), assuming that were large, we obtain
[TABLE]
which coincides with the result for the constant acceleration in ordinary Newtonian mechanics. On the other hand, the correct limit for reads
[TABLE]
Again we see that the relativistic correction is significant for , as well as for .
Appendix D Rocket propulsion
As a concrete example of the relativistic acceleration, we show how the rocket propulsion is formulated.
Suppose the following: A rocket has a mass , is located at , and has a velocity in a reference frame at its proper time . Note that a mass is a Lorentz-invariant notion and does not depend on frames. The rocket is in an inertial frame, i.e., under no outer force.
Let us first switch to the rest frame of the rocket at :
[TABLE]
Suppose that the rocket’s mass, including its fuel, has changed by an amount
[TABLE]
during an infinitesimal proper time . That is, its fuel is consumed by an amount . At the proper time the rocket’s mass becomes , with , and its velocity
[TABLE]
Note that Eq. (43) implies that , which leads to454545 We may instead directly take the derivative of to obtain , which is also true in any frame; see Eq. (54).
[TABLE]
This relation applies in any frame. In the rest frame (226), we further obtain
[TABLE]
Suppose that the fuel is converted into a jet of mass with velocity . The energy and -momentum conservation reads
[TABLE]
where is a possible energy dissipation.464646 For example, includes the part of kinetic energy of the jet constituents that comes from the velocity components that are perpendicular to the (much larger) net jet velocity and cancel each other as a whole.
Putting , , , and and dropping the quadratic infinitesimal terms, we obtain
[TABLE]
where we have assumed that and are constants.
The final expression for the rocket’s acceleration in its rest frame is
[TABLE]
where . Since Eq. (235) is written Lorentz covariantly, we can easily obtain its form in the reference frame at :
[TABLE]
To summarize, when one switches on the rocket and determines its thrust direction to be in its rest frame, the given acceleration is Eq. (236) in the general reference frame. In terms of the acceleration in Eq. (110), the rocket propulsion corresponds to setting
[TABLE]
The (noncovariant) exhaust velocity of the jet is
[TABLE]
When the jet is composed of massless photons, we may take the limit i.e. , in which the exhaust velocity approaches the speed of light . In the limit, Eq. (236) reads
[TABLE]
As an illustration, let us examine a rocket propulsion with the constant direction . We set an initial condition and . For a velocity , the Lorentz transformation to the rest frame (56) is474747 Here and hereafter in this section, is not the second component of but the square of the parameter .
[TABLE]
and the acceleration is
[TABLE]
Solving the spatial component,
[TABLE]
we obtain the relation between the final velocity and mass :
[TABLE]
We see that the ratio of the initial rocket mass, , to the final mass after using up all the fuel, , governs the final covariant velocity . When we set , the exhaust velocity (238) becomes , and the small velocity limit of Eq. (243) recovers the well known result .
In the limit , we can increase the final covariant velocity without limit, and the rocket’s noncovariant velocity approaches the speed of light .
Appendix E Handling rotation with quaternions
We review how to implement a spatial rotation in three dimensions using the quaternion, which avoids the gimbal lock. This can be used to store the information on the direction of each 3D object introduced in Sec. 5.3.
Let be a three-vector:
[TABLE]
We parametrize a quaternion by four real numbers , , and as
[TABLE]
where the unit quaternions obey
[TABLE]
in which . That is,
[TABLE]
where is the totally antisymmetric tensor484848 To be explicit, the nonzero components of the totally antisymmetric tensor are and . All the other components are zero.
[TABLE]
Hereafter, we employ the shorthand notation etc. From the relation (247), it is straightforward to show that
[TABLE]
where the vector product is defined by . In particular,
[TABLE]
For any , we define its conjugate by
[TABLE]
Note that
[TABLE]
We express a three-vector, say, the Cartesian coordinates by the quaternion494949 Here and hereafter in this section, stands for the quaternion (253) rather than the rest frame coordinate.
[TABLE]
We want to rotate this vector by an angle around an axis . The resultant three-vector can be obtained from
[TABLE]
where
[TABLE]
One may use the quaternion (255) to specify the direction of a rigid body.
It is tedious but straightforward to show that505050 One uses the identity
copiously.
[TABLE]
where and . When we take to be a unit vector with , we obtain further
[TABLE]
Suppose that we decompose into the components that are parallel and perpendicular to the unit vector :
[TABLE]
where
[TABLE]
Then515151 The orientation of , and , which are perpendicular to each other, is such that
where .
[TABLE]
In other words, the three-vector is transformed by as
[TABLE]
where
[TABLE]
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Particle Data Group, K. Olive et al., Review of Particle Physics (RPP) , Chin. Phys. C 38 (2014), 090001, http://pdg.lbl.gov/ .
- 2[2] WMAP Science Team, Cosmology: The study of the universe , (2011), NASA’s Wilkinson Microwave Anisotropy Probe, http://map.gsfc.nasa.gov/universe/ .
- 3[3] B. Greene, The elegant universe: Superstrings, hidden dimensions, and the quest for the ultimate theory , W W Norton & Co Inc, 2010.
- 4[4] L. Smolin, An Invitation to loop quantum gravity , in Proceedings, 3rd International Symposium on Quantum theory and symmetries (QTS 3) , 2004, http://arxiv.org/abs/hep-th/0408048/ , pp. 655–682.
- 5[5] J. Ambjorn, A. Goerlich, J. Jurkiewicz, and R. Loll, Nonperturbative Quantum Gravity , Phys. Rept. 519 (2012), 127–210, 1203.3591 , http://arxiv.org/abs/1203.3591/ .
- 6[6] Test Tube Games, Velocity Raptor , http://www.testtubegames.com/srel 101.html .
- 7[7] MIT Game Lab, A Slower Speed of Light , http://gamelab.mit.edu/games/a-slower-speed-of-light/ .
- 8[8] D. Weiskopf, Visualization of four-dimensional spacetimes , Ph.D. thesis, Eberhard-Karls-Universität zu Tübingen, 2001.
