1998Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Nested coorindate space model -->
<!--X-From-R13: [vpunry Vburafrr <zvpunryNfcnegn.znvafgernz.arg> -->
<!--X-Date: Sat, 30 May 1998 13:07:58 &#45;0700 -->
<!--X-Message-Id: 35702ED0.2A713FE6#sparta,mainstream.net -->
<!--X-Content-Type: multipart/mixed -->
<!--X-Reference: Pine.SOL.3.96.980530161149.11025C&#45;100000@sun&#45;cc203 -->
<!--X-Derived: jpg00000.jpg -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Nested coorindate space model</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:michael#sparta,mainstream.net">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00853.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00855.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00853.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00855.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00854">Author</A>
&nbsp;|&nbsp;<A HREF="#00854">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00854">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Nested coorindate space model</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Subject</em>: [MUD-Dev] Re: Nested coorindate space model</LI>
<LI><em>From</em>: Michael Hohensee &lt;<A HREF="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</A>&gt;</LI>
<LI><em>Date</em>: Sat, 30 May 1998 12:07:44 -0400</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
Ling wrote:
&gt; 
&gt; On Tue, 26 May 1998, J C Lawrence wrote:
&gt; &gt; Defining a new coordinate system within the domain has proven
&gt; &gt; exceptionally useful, tho the translations to the external world can
&gt; &gt; be awkward.  While I haven't needed to make the definition yet, pretty
&gt; &gt; soon I'm going to have decide if:
&gt; &gt;
&gt; &gt;   Given a domain with specified external dimensions of X (say 1x1x1),
&gt; &gt; but which defines and internal coordinate system and thus has internal
&gt; &gt; dimensions of Y (say 100x100x100), what happens at the translation
&gt; &gt; points between the domains?  Is scaling employed such that objects
&gt; &gt; effectively "shrink" to 1,000,000'th of their actual size when they
&gt; &gt; enter the nested domain, or are matched scale "windows" defined which
&gt; &gt; support the interface translations?
&gt; &gt;
&gt; &gt; The TARDIS would seem to indicate the latter.
&gt; 
&gt; I think so too, scaling would be horrid.  A builder wanting to mimick
&gt; Alice in Wonderland's scaling feats could stick in code for that kinda
&gt; thing...  Then again, given that there is an interface between domains
&gt; that converts objects, it oughta be pretty transparent to the players.
&gt; Bubba lobbing a stick into the TARDIS should still see a stick entering
&gt; the TARDIS, not a tree.  Conversely, Boffo inside the TARDIS shouldn't see
&gt; a twig coming in turning into a stick.
&gt; 

This wouldn't actually happen, if the stick's dimensions are left
alone.  All we need to define a domain like the TARDIS is to give it a
"scale" value of less than 1.

It isn't the stick's responsibility to worry about whether it is inside
a TARDIS or not, that's the TARDIS's job.  So we leave the dimensions of
the stick unchanged.  Say the TARDIS is 5 units long on the outside, and
20 units long on the inside.  It would have a scale value of .25.  Now
take a stick, and place it within the TARDIS.  Now, if you look at the
stick from the outside of the TARDIS, it will still look like it is the
same length as it is on the outside. (see the attached image to see what
I mean).

If we're doing this in an object oriented language, like C++, (as I am),
it isn't hard to get the location of one end of the object, and that of
the other.  From there, we can do a simple calculation of the distance
between each end and the observer location.  We simply get the distance
in absolute coordinates, and divide it by the scale of the domain the
objects are contained in.  If the lines cross into other domains, we
first find the distance from the edge of that domain to the observer,
and then ask the intervening domain to tell us how far it is to the
object.  If still another domain intervenes, it repeats this and asks
that domain to find the distance to the object.  Eventually, everything
returns and sums up the real distance (i.e. how far the observer would
have to walk to get to the object) is discovered.  Then all we have to
find is the angle between the two lines, but that isn't particularly
hard, either.  Now we plug it all into the equation, and bang, we see
how big the object appears to be.  No sudden shrinking or anything. 

The main idea is that the units of length are not necessarily the same
as the units of the absolute coordinate space.  When you move two feet
forward, it is up to the domain/space which contains you to decide where
your new location in absolute coordinates is.  If the scale is 1, you
may indeed move from 0,1, to 0,3.  But if the scale is .5, you'll only
end up at 0,2.  You, personally, don't care in the least, because as far
as you're concerned, you've gone two feet forward relative to everything
else.  If there was a two foot stick next to you when you started, you'd
be at the other end of it when you finished (you don't care whether the
stick's length has been warped by multiplying it by 1 or .5, since you
and everything else is warped along with it).  There's no need for
special interface objects to guard the entrance to each domain, things
take care of themselves naturally. :)


-- 
Michael Hohensee       michael#mainstream,net
<A  HREF="http://www.geocities.com/SiliconValley/Heights/9025/">http://www.geocities.com/SiliconValley/Heights/9025/</A>
      Finger me for my PGP Public Key, or use: 
<A  HREF="http://sparta.mainstream.net/michael/pgpkey.txt">http://sparta.mainstream.net/michael/pgpkey.txt</A></PRE>
<P><A HREF="jpg00000.jpg" ><IMG SRC="jpg00000.jpg" ALT="JPEG image"></A></P>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="00869" HREF="msg00869.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>
<ul compact><li><em>From:</em> J C Lawrence &lt;claw#under,engr.sgi.com&gt;</li></ul>
<li><strong><A NAME="00855" HREF="msg00855.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>
<ul compact><li><em>From:</em> Michael Hohensee &lt;michael#sparta,mainstream.net&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00853" HREF="msg00853.html">[MUD-Dev] Re: Nested coorindate space model</A></STRONG>
<UL><LI><EM>From:</EM> Ling &lt;K.L.Lo-94#student,lboro.ac.uk&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00853.html">[MUD-Dev] Re: Nested coorindate space model</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00855.html">[MUD-Dev] Re: Nested coorindate space model</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00853.html">[MUD-Dev] Re: Nested coorindate space model</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00855.html">[MUD-Dev] Re: Nested coorindate space model</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00854"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00854"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><strong><A NAME="00730" HREF="msg00730.html">[MUD-Dev] Nested coorindate space model</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 20 May 1998, 18:19 GMT
<UL>
<LI><strong><A NAME="00756" HREF="msg00756.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>, 
Ling <a href="mailto:K.L.Lo-94#student,lboro.ac.uk">K.L.Lo-94#student,lboro.ac.uk</a>, Thu 21 May 1998, 17:30 GMT
<UL>
<LI><strong><A NAME="00839" HREF="msg00839.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 27 May 1998, 03:09 GMT
<UL>
<LI><strong><A NAME="00853" HREF="msg00853.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>, 
Ling <a href="mailto:K.L.Lo-94#student,lboro.ac.uk">K.L.Lo-94#student,lboro.ac.uk</a>, Sat 30 May 1998, 15:39 GMT
<UL>
<LI><strong><A NAME="00854" HREF="msg00854.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>, 
Michael Hohensee <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Sat 30 May 1998, 20:07 GMT
<UL>
<LI><strong><A NAME="00855" HREF="msg00855.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>, 
Michael Hohensee <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Sun 31 May 1998, 13:32 GMT
</LI>
<LI><strong><A NAME="00869" HREF="msg00869.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 03 Jun 1998, 18:49 GMT
<UL>
<LI><strong><A NAME="00893" HREF="msg00893.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>, 
Michael Hohensee <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Sat 06 Jun 1998, 02:41 GMT
<UL>
<LI><strong><A NAME="01061" HREF="msg01061.html">[MUD-Dev] Re: Nested coorindate space model</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Tue 16 Jun 1998, 02:04 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>