I want to know whether or not my starship's cordinate system is efficient or not. Soon after my race flew into the stars, we realised we needed to be able to tell where we were. We need coordinate systems. This particular system has an angle and a distance to define positions in space. The angle is a quaternion rotation from the sun (to avoid gimbal lock with euler coordinates) and a distance in light years along that angle. The 'right' of the sun is Earth's position from the sun on January 1st. Is this a good way of defining a position in the context of our spiral arm of the galaxy? What problems will I face using this system?


The 'right' of the sun specifies a basis for the Quaternion rotation.

January 1st 12 am is a unified time across all of Earth

A lot of people seem to be getting confused here. Quaternion rotation specifies an angle in 3D space. It defines any 3 dimensional direction.

  • $\begingroup$ That coordinate specifies a basis for the quaternion rotation $\endgroup$ – Obsyden Sep 11 '17 at 1:10
  • 2
    $\begingroup$ Time and space dilations due to FTL travel will mess up your coordinates. The fact that planetary orbits change over billions of years also gives your system imprecision over eons. A more durable, dependable system could use the galactic center and a specific galactic arm for coordinates. $\endgroup$ – Renan Sep 11 '17 at 3:34
  • $\begingroup$ I see problem with this - how you can safely say what angle you are at? The sun looks same from all spots you look. Planets may not be seen from some angles (and are not that bright after all). Also the space is 3D, not 2D, so you need at least two angles. I would say you want to use more stars to navigate than one. $\endgroup$ – Antoine Hejlík Sep 11 '17 at 15:13

"January 1st" isn't quite specific enough for large-scale scientific measurements. "January 1st" can be anywhere within a 24-hour period, which could cause a (roughly) 1 degree difference between measurements in different places, which becomes problematic at long distances. Add on irregularities in the Earth's orbit, time zones, the Sun moving through space... Imagine how catastrophic it would be if a spaceship that was still using the coordinate system measured on 1/1/15 at 12:00 AM in the UTC+12:00 time zone had to rendezvous with a spaceship using the measurements from 1/1/17 at 12:00 PM in the UTC-9:00 time zone.

Edit: Although the time zone problem was solved, eccentricities in the Earth's orbit and changes in the Sun's location may still be a problem.

  • $\begingroup$ For this question I assume that the Earth has already moved to a unified time system that excludes time zones and other things. I'll edit the question to reflect this. $\endgroup$ – Obsyden Sep 11 '17 at 1:47
  • $\begingroup$ That, I did not think about. Thanks! $\endgroup$ – Obsyden Sep 11 '17 at 11:17
  • $\begingroup$ +1 for mentioning the movement of the Sun. Using this kind of coordinate system inside another star's system would be ill-advised. $\endgroup$ – Chieron Sep 11 '17 at 16:35

To get equal precision at different distances you will need to to increase angle precision as distance grows - you forget to do this, you get bad coordinates.

If you have your current coordinate and velocity vector then calculation of new position at some point of time is more complex than in orthogonal coordinates.

Polar coordinates are VERY useful for calculation rotating motions around center of coordinates. Othervise, orthogonal coordinates are better. And interstellar spaceships do not rotate around Sun.


You can't define locations in 3D space using only two numbers (e.g., one angle and one distance, as you've done). You seem to be thinking of the Galaxy as perfectly flat, which it isn't.

Think about locations on the surface of the Earth, which is a 2D problem: we use two (angular) coordinates: longitude and latitude. You can think of this as an angle measured from the North Pole (that's longitude) plus a distance along that line (latitude). But if we want 3D locations on the surface of the Earth, then you can add something like altitude from sea level.

If you want something Earth- or Sun-based, why not use the Galactic coordinate system plus a distance along the direction vector?

  • $\begingroup$ The angle the OP uses is a rotation/direction, not a scalar number. So there are enough coordinates, technically. $\endgroup$ – Chieron Sep 11 '17 at 16:30

The problem with using quaternions to describe coordinates is that quaternions describe a 4-dimensional coordinate system. This would work okay if you wanted to also include time in your measurement, but that start getting really weird because multiplication with quaternions doesn't work in the way you would think they work which would make calculating distances and changes in time very difficult.

If you are looking for a way to define coordinates for your universe, then the standard coordinate system will actually work just fine, you just have to be very careful how you define it. For example, if you are in a spiral galaxy with a large black hole in the middle, then it would be easy to define regular (cartesian) coordinates with the black hole as (0, 0, 0). We can use the spin of the black hole to define the z-axis, but now we run into a problem: we have no reference point for where to place our x and y axes. This is a problem which is going to come up no matter what coordinate system you use, so you will have to pick some second body as the reference point for the x-axis (once you have the x-axis the y-axis is easy to determine.) This poses its own problems because all of the objects in your universe are going to be rotating on their own accord, so you want to pick a point which will minimize how much coordinates of the other planets in your system change. Note that what we pick as the second point is completely arbitrary because of relativity, so to minimize the pain of a changing coordinate system for other planets, it is useful to pick the other reference point as somewhere in a densely populated area of the galaxy.

Now we have defined a standard coordinate system for the galaxy with the center of the galaxy as (0, 0, 0), and the x, y, and z axes well defined. An alternative system for labeling coordinates would be to use spherical coordinates which are defined by an angle along the xy-plane, an angle between the xy-plane and the z-axis, and a distance. This coordinate system is useful when talking about the orbits of solar systems around the center of the galaxy, but you once again have to be careful where you define your 0 degree angles using the same method as before.

Bonus: Although quaternions aren't used for defining 3D coorindates, they are used for 3d rotations, usually in game programming! See here for more information about them.

  • $\begingroup$ I use the quaternion to define the rotation around a point (in this case, the sun, which has turned out to not be a good idea) and then a distance along that angle. I found quaternions because I make games :D Good job on the link :) $\endgroup$ – Obsyden Sep 11 '17 at 22:50

Efficient no but it would be reasonably effective, it would be a pain to compute, especially at relativistic speeds where you get distortions of you reference image and time dilation effects mess with your clock time agreement. Depending how long you wanted to use it for you'd get into problems with long term orbital variations and corrections for solar orbit around the galactic hub will get less and less accurate as time goes on. You'd be better to pick extra-galactic reference points that have lower relative speeds.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.