CoordinateSystems

ThereWiki | RecentChanges | Preferences

Several different CoordinateSystems are in use simultaneously in There in different contexts.

Global Cartesian

The main user-visible co-ordinate system in the MetaVerse is a 3-dimensional Cartesian system of X, Y and Z co-ordinates with its origin at the exact centre of PlanetThereia. The fundamental unit of linear measurement on each of these axes is the "scale metre" or just "metre". In the MetaVerse, a male avatar stands 2.4m high where in the real world most people reach less than 2m in height: one way of looking at this is that avatars are taller, another would be that MetaVerse metres are a bit shorter than real world ones.

The point on the surface of PlanetThereia where X=Y=0 is on the side of the volcano on Caldera. The equator and prime meridian therefore pass through this location. At this location, increasing values of X take you East, while increasing values of Y take you North. Similarly, the global Cartesian Z axis points to the centre of the planet at this location.

Radius and Altitude

In such a co-ordinate system, the distance r of any object from the origin can be determined from the following equation:

 r = sqrt(x*x + y*y + z*z)

PlanetThereia has a radius of six million metres, in the sense that the reference point for terrain at a given point on the planet is exactly six million metres from X=Y=Z=0; again, this puts it roughly at the same size as planet Earth. An object's height relative to the terrain system is therefore:

 t = sqrt(x*x + y*y + z*z) - 6000000.0

If you drop a "point object" such as an invisible quest clue on the ocean, you will find that its location is exactly 0.3m below the terrain reference. Another way of saying this is that Mean Sea Level is at 5999999.70m from the global origin, and that an object's altitude above MSL is:

 a = sqrt(x*x + y*y + z*z) - 5999999.70

Global Spherical plus Local Cartesian

One of the dasps associated with a dob contains the location of a local reference frame expressed in a global spherical coordinate system. A second dasp contains a local Cartesian offset from that position to the object's position. This two-part system is used to compress the transmission of position information. Each of the two dasps making up a complete position is marked with a "parity" value to prevent the two parts being used out of context, for example when moving from one reference frame to another.

The global spherical coordinate system consists of:

Objects in the same general area tend to have common global spherical coordinate references. Speculation: the reference point used is a reference point for the whole sector.

Observed values of r have all been of the form 6e6 + n*128. For example: 6000128, 6000640.

To convert from global spherical to global cartesian coordinates:

For example, an object might have the following positional dasps:

ObstacleDasp={code=1
   global={ globalPos={
      r=6.0001280000000000e+006
      theta=8.6874189364461757e-002
      phi=-6.8742942594681722e-002
   } globalParity=0}
}
ObstacleDasp={code=2
   local={ local={globalParity=0 posMode=0 outAndAbout={ localPos={
      localX=1.7002791310687689e+002
      localY=1.4822028552068969e+002
      localZ=7.6866735871665924e+001
   } } } heading=-1.8100000000000000e+002}
}

The position of the reference frame is:

The position of the object is:

Zone Local

Objects within a PortaZone have positions expressed in a 3-dimensional Cartesian co-ordinate system relative to the PortaZone.


ThereWiki | RecentChanges | Preferences
This page is read-only | View other revisions
Last edited May 18, 2004 10:11 am by IanYoung (diff)
Search: