-
Notifications
You must be signed in to change notification settings - Fork 32
Coordinate Systems
Ultimately explaining the location of objects involves an explanation of coordinate systems. The coordinate system describes relative positions, there has to be an origin somewhere, and there has to be a distance and direction from the origin. There are several PDUs with position records, but the answer depends on explaining the semantics of the records.
A classic position record looks simple:
X | Y | Z |
---|---|---|
958506.1 | 455637.2 | 4344627.4 |
It's three double precision floating point numbers in the record. What on earth is the meaning of the numbers? Where is the origin, what are the units the numbers use, and is that a rectilinear coordinate system? The designers of DIS wanted to position items anywhere, including the air, below the ocean, submarines, land, and space.
DIS uses (mostly) a rectilinear coordinate system with its origin at the center of the earth. The units are expressed in meters. This seems odd if all you want to do as a simulator writer is place an aircraft carrier in the right location, but a better idea when you realize the simulations often use curvature of the earth. Mathematicians are sophisticated enough to supply conversion formulas between DIS and latitude/longitude/altitude (LLA), or Military Grid Reference System (MGRS), or other grid systems.
The DIS position system solved problems most computer entertainment games didn't bother to solve--the games usually stuck to a perfectly flat game terrain instead of replicating the curved earth, or replicating a specific place in the real worlds at scale. DIS can also use options involving more math. The DIS developer can place of flat service at a point on the globe that approximates a real position. This can introduce some errors at longer ranges, but at the same time make programming easier.
The coordinate system looks like this: