[MUD-Dev] Re: Nested coorindate space model

J C Lawrence claw at under.engr.sgi.com
Mon Jun 15 19:01:13 CEST 1998


On Fri, 05 Jun 1998 18:40:04 -0400 
Michael Hohensee<michael at sparta.mainstream.net> wrote:

> Sorry it took me so long to respond to this message.  I've had to do
> some heavy number crunching. :)

Unfortunately you still missed a key point.

> J C Lawrence wrote:

>> On Sat, 30 May 1998 12:07:44 -0400 Michael
>> Hohensee<michael at sparta.mainstream.net> wrote:

>> This is dependant on another assumption: the mapping of the
>> translation layers between domains, and breaks at the translation
>> layer when the a' and b' lengths are zero.  You need to take
>> account of the translation layers between coordinate systems.
>> 
>> Consider a domain X which contains a nested domain Y.  Y has
>> external dimensions of 1x1x1 in X's coordinate system, but has
>> internal dimensions of 100x100x100 in Y's internal coordinate
>> system.  All 6 external faces of the cube formed by Y translate to
>> surfaces in X.
>> 
>> Now take your stick of length 1.  It starts in X's coordinate
>> system and moves in Y's.  In Y's coordinate system it too has a
>> length of 1, however, as it crosses the border into Y, it instantly
>> apparently shrinks to a viewer in X due to the fact that its length
>> now subtends a tiny fraction of the visual angle that it did
>> immediately prior to crossing the border.
>> 
>>   +--------------------------------------------+
>>   |              \                             |
>>   |               \                            |
>>   |                X domain         Y domain   |
>>   |                                /           |
>>   |                               /            |
>>   |    ...........+-----------------+          |
>>   |    ^          |     ^           |          |
>>   |    |          |     |           |          |
>>   |    |          |     |           |          |
>>   |    | 1 unit   |     | 100 units |          |
>>   |    |          |     |           |          |
>>   |    |          |     |           |          |
>>   |    |          |     |           |          |
>>   |    V          |     V           |          |
>>   |    ...........+-----------------+          |
>>   |                                            |
>>   |                                            |
>>   +--------------------------------------------+

> Not so.  For the viewer determines the size of the object not from
> just the angle between each end of the object's ends, but also from
> the distance between him and each end.  As long as one end of the
> stick is inside the Y domain, a portion of the distance between the
> observer in the X domain is stretched by the warping factor in the Y
> domain.

You are ignoring the pessimal case:


   +--------------------------------------------+
   |              \                             |
   |               \                            |
   |                X domain         Y domain   |
   |                                /           |
   |                               /            |
   |    ...........+-----------------+          |
   |    ^          |     ^           |          |
   |    |          |     |           |          |
   |    |          |     |           |          |
   |    | 10 units |     | 1000 units|          |
   |    |          |     |           |          |
   | Q  |         R|S    |           |          |
   |    |          |     |           |          |
   |    V          |     V           |          |
   |    ...........+-----------------+          |
   |                                            |
   |                                            |
   +--------------------------------------------+

In the above diagram:

  Q is the viewer

  R is a stick of unit length located immediately adjacent to the
boundary of the Y domain, and whose length is perpendicular to Q's
line of site to R.

  S is the same stick moved a tiny distance so that it not lies in the
Y domain.  Note: The delta distance between R and S is proximate to
zero (incremental).

The angle subtended at Q by the length of R is significantly larger
than the angle subtended at Q by the length of S, __UNLESS__ you make
a linear map of the translation layer between X and Y (ie a 10 unit
"window" exists in Y which maps to X).

> I think there's a slight conceptual barrier here.  There are two
> kinds of distances: Absolute distance, and Percieved distance.  The
> absolute distance is what you get if you calculate the distance
> based on coordinates alone.  When we look at the picture above, we
> are looking at it in terms of its absolute coordinates.

Understood.  Unfortunately perceived distance is a function of
geometry and that geometry occurs in hard coordinates.

> So, if you do the math, you find that as the angle subtended by the
> stick decreases, the distance that the observer's vision-path
> travels through Y increases.  If we use the right formula, we get
> the same length of the stick no matter where we look at it from.

This is conveniently only true except when the translation layer is
parallel to the line of sight.  It becomes less true as the angle
between the line of sight and the translation layer moves approaches a
normal.

>> Further this allows the TARDIS-like mechanics of being in X, moving
>> south thru the B interface into Y, turning around 180 degrees and
>> exiting Y thru the D interface to find yourself facing in the same
>> dirction as when you started, and having traveled to the opposite
>> side of Y.

> Yes, but if you do it this way, what you've really got are portals
> which have the property of shrinking or enlarging an object that
> passes through them.  

Actually no.  The basic definition and unit size of the coordinate
spaces is constant across all coordinate spaces.  The portals merely
translate objects between coordinate spaces.  There is no scaling.

For instance, Bubba, standing in the X domain above, and entering Y,
would appear to be the same size when viewed from X as he was in Y
(and visa versa).  However, if the Y domain were entombed say in a
small box, Bubba would be able to enter X and then have Boffo pick up
the box and cart it away with Bubba riding along inside.

The scaling feature, the ability for a seming tiny figure of Bubba in
a domain to leave that domain and suddenly become "large" (relatively) 
is not directly handled or addressed by this model.  It can however be 
simulated, sort of, by other means.  

> The spacial compression isn't really a property of the space that
> one resides in, but one of the entrances and exits of that space.

No compression, but yes.  It also handles the TARDIS beautifully.

> The main problem with this is that you have to be especially careful
> to ensure that objects can't enter or exit the space without going
> through the portals.  

Not true -- all coordinate spaces are equal.  In fact, all coordinate
spaces could actually be the same coordinate space with the
translation layers merely acting as "warps" bidirectionally
translocating passers-thru to a distant and unused portion of the
global coordiate space.

> It also prevents the creation of a variably compressed/stretched
> space, and complicates (where it doesn't prevent) calculations of
> space "lens" effects.  It's not the most elegant and universal
> solution... :/
 
Agreed.  It is both simple and cheap.

>> Except for the case when an object lies just other side of a
>> translation layer.
>> 

> Not if you've got the right formula! (which I don't, yet.. :)

See above.

--
J C Lawrence                               Internet: claw at null.net
(Contractor)                               Internet: coder at ibm.net
---------(*)                     Internet: claw at under.engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...




More information about the mud-dev-archive mailing list