When the MUX builder specifies ST_STARTPOS locations for
objects in space, the coordinates are given in cartesian form - a simple
(X,Y,Z) triple. The coodinates are signed integers, and depending on your
operating system and CPU can be anything between -2^63 and +2^63. However,
it is advisable to keep objects fairly close to the (0,0,0) point as the
boundary effects on sensors and range calculations when the objects approach
the limits of space are not well defined.
Then the players are presented coordinates, they are given
a bearing, an elevation and a range. These three numbers are essentially
polar coodinates for their position relative to the (0,0,0) point.
The valid range of bearings is from 0 to 359 degrees, and
elevations from +90 to -90 degrees.
The following diagrams show the axis definitions for
the cartesian coordinates, a top view of the X-Y plane showing how bearings
are calculated, and a diagram showing elevations.
|
Let us place some objects in space as follows, and show
their bearings and elevations from the origin (0,0,0):
| Name | X | Y | Z | Bearing | Elevation |
| A | 1000 | 0 | 0 | 0 | 0 |
| B | 0 | 1000 | 0 | 90 | 0 |
| C | -1000 | 0 | 0 | 180 | 0 |
| D | 0 | -1000 | 0 | 270 | 0 |
| E | 0 | 0 | 1000 | 0 | 90 |
| F | 0 | 0 | -1000 | 0 | -90 |
| G | 1000 | 0 | 1000 | 0 | 45 |
| H | -1000 | 0 | 1000 | 0 | 45 |
| I | 1000 | 1000 | 1000 | 45 | 35.3 |
|