Better way to denote position on a sphere's surface

1.8k Views Asked by At

TL;DR: Read the bold text.

If you have a rectangular plane, you can use two coordinates (X, Y) to define any position on the plane. If you have a sphere, you can still use polar coordinates to denote a position, but they are a bit problematic, because their precision isn't evenly distributed across the surface (more precisely, close to the poles the distance between X=1 and X=2 is much smaller than at the equator. So you need a higher precision number to describe a point close to the equator with a certain precision (say, a tolerance of 50 meters) than you would at the poles.

Now, is there a way of representing position on the surface of a sphere that doesn't have this problem (i.e. uneven distribution of precision)? One I could think of was using a 3D-vector originating from the sphere's center, but that approach seems a bit superfluous, since it can be used to denote any position in 3D-space (in other words, I only need the "direction" part of the vector, not its length, but AFAIK those two are inseparable...). A normalized vector still requires the same amount of information to make it up (3 numbers), so that isn't really any better.

2

There are 2 best solutions below

1
On BEST ANSWER

You could mitigate this issue somewhat by projecting the surface of the sphere onto a suitable inscribed polyhedron (e.g., a Platonic solid such as a cube, octahedron, or icosahedron). Then on the cube, you could choose Cartesian coordinates in a natural way, and for triangular faces, you could choose trilinear coordinates. The resulting parametrization is not smooth at the edges or vertices but it doesn't have quite the degree of "unevenness" of the usual spherical coordinate system.

1
On

I don't think there is a better way than spherical coordinates. Moreover, I'd argue that "need a higher precision number to describe a point close to the equator" is not really an accurate description; what happens is that unusually low precision suffices near the poles. The situation at the equator, and on most of the sphere, is about as good as one could have.

Indeed, consider the circular cylinder of radius $r$ (same as the sphere) and height $2r$ (same as the sphere). The cylindrical coordinates $\theta,z$ do a great job of representing points on this surface, and we have no reason to wish for anything better. Put more formally, the map $$x = r\cos \theta, \quad y= r\sin\theta,\quad z= r t,\quad |\theta|\le \pi, |t|\le \pi$$ transforms a square of size $2\pi\times 2\pi$ onto the cylinder while magnifying the lengths by the factor of $r$. Perfect.

When we parametrize the sphere by spherical coordinates $$x = r\cos \theta \sin\phi , \quad y= r\sin\theta \sin\phi,\quad z= r \cos\phi,\quad |\theta|\le \pi, 0\le \phi\le \pi$$ we use the rectangle of area $2\pi^2$ to cover the sphere of radius $4\pi r^2$. So, stretching by the factor of at least $\sqrt{\frac2\pi} r\approx 0.8\, r$ somewhere is inevitable. A computation with derivatives shows than no distances are stretched by more than $r$. So, even though it's not by a uniform factor, the stretching never exceeds $125\%$ of the optimal amount. Add to this that a perfect (isometric) parametrization of a sphere is impossible (unlike for a cylinder).