1997Q3/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev]  Finding Space -->
<!--X-From-R13: @nguna Kbfcr <lbfcrNunjnvv.rqh> -->
<!--X-Date: Mon, 18 Aug 1997 08:01:09 +0000 -->
<!--X-Message-Id: Pine.GSO.3.95q.970817214958.16831C&#45;100000@uhunix2 -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 33F49BEE.41C67EA6#iname,com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev]  Finding Space</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:yospe#hawaii,edu">
</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="msg00653.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00655.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00607.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00653.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00654">Author</A>
&nbsp;|&nbsp;<A HREF="#00654">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00654">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev]  Finding Space</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev]  Finding Space</LI>
<LI><em>From</em>: Nathan Yospe &lt;<A HREF="mailto:yospe#hawaii,edu">yospe#hawaii,edu</A>&gt;</LI>
<LI><em>Date</em>: Sun, 17 Aug 1997 22:00:55 -1000</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On Fri, 15 Aug 1997, Shawn Halpenny wrote:

:Michael Hohensee wrote:

[something I have replied to already]

:Are the objects you are placing required to end up in a position relative
:to surrounding objects?  For example, given "put the book on the table" and
:no space on the table, where does the book go?

Well... that's more the parser. My book would end up on top of a couple
more books. Of course, we DO have a problem here. A book is shaped as a
non-sphere... But acts like a sphere until further notice, further notice
being a collision or placement on the table or objects on said table. The
solution I posed in the last post neglected this particular situation...
the plane. Planes are simple constructs that often occur in dispute of the
simple sphere to sphere collision. Moreover, planes in Physmud++ have
depth and equilibrium angles... that book might, if placed on a table,
just possibly end up end down, or on its side as expected. Both would
occur _after_ a "collision" was detected, however.

:If relative object placement is not a big deal, and you just need the
:objects to sit such that no parts of them are occupying the same space, how
:about something along these lines:

:1.  consider the room a box having known dimensions

:2.  try to put the object A at the first open space in the box using
:    your favorite 3D intersection algorithm.  Start at the spot off in the
:	corner on the floor, say.
:3.  if it doesn't fit there because of an object B already sitting there, move
:    to the edge of B in some direction and try again.
:4.  repeat until A is placed

Um. This is an attempt to fit an analog scenario into a binary (bin)
solution.

:Of course, a substantial number of objects in the room already will slow
:you down, so you'd probably want to throw some partitioning into the mix
:so as to minimize the number of intersection tests you have to do--after a
:failed test, partition your space and try to place object at a new position
:in one of the partitions.  You'll need a breaking point, though, or else
:as the number of objects increases you'll be unable to find anywhere to put
:them.  At that point, you'll have to go back to the original algorithm.

:I think I remember seeing good algorithms for this a few years ago...maybe
:in a Graphics Gems or something...

This IS a possible alternative to my solution... it only really makes
sense with a cubic object system, where orientation is Always orthoganal,
and with the motion distance dependant on the size of your object, and
with an adjustable checkpoint solution... its slow and unwieldy, however.

The clustering spherical collision solution is a rather effective one, if
you have the support for treatment of a set of objects as a virtual
object.

"You? We can't take you," said the Dean, glaring at the Librarian.
"You don't know a thing about guerilla warfare." - Reaper Man,
Nathan F. Yospe  Registered Looney                   by Terry Pratchett
yospe#hawaii,edu   <A  HREF="http://www2.hawaii.edu/~yospe">http://www2.hawaii.edu/~yospe</A>           Meow


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00607" HREF="msg00607.html">Re: [MUD-Dev]  Finding Space</A></STRONG>
<UL><LI><EM>From:</EM> Shawn Halpenny &lt;malachai#iname,com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00653.html">Re: [MUD-Dev]  Finding Space</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00655.html">Re: [MUD-Dev]  Character evolution</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00607.html">Re: [MUD-Dev]  Finding Space</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00653.html">Re: [MUD-Dev]  Finding Space</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00654"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00654"><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>Re: [MUD-Dev] Finding Space</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00620" HREF="msg00620.html">Re: [MUD-Dev] Finding Space</A></strong>, 
Ned Lovely <a href="mailto:njl#NEDS,PLACE.ORG">njl#NEDS,PLACE.ORG</a>, Sat 16 Aug 1997, 09:03 GMT
</LI>
<LI><strong><A NAME="00625" HREF="msg00625.html">Re: [MUD-Dev] Finding Space</A></strong>, 
Ned Lovely <a href="mailto:njl#NEDS,PLACE.ORG">njl#NEDS,PLACE.ORG</a>, Sat 16 Aug 1997, 20:53 GMT
</LI>
</ul>
</LI>
<LI><strong><A NAME="00603" HREF="msg00603.html">Finding Space</A></strong>, 
Michael Hohensee <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Fri 15 Aug 1997, 14:03 GMT
<UL>
<LI><strong><A NAME="00607" HREF="msg00607.html">Re: [MUD-Dev]  Finding Space</A></strong>, 
Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Fri 15 Aug 1997, 18:12 GMT
<UL>
<LI><strong><A NAME="00654" HREF="msg00654.html">Re: [MUD-Dev]  Finding Space</A></strong>, 
Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Mon 18 Aug 1997, 08:01 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00653" HREF="msg00653.html">Re: [MUD-Dev]  Finding Space</A></strong>, 
Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Mon 18 Aug 1997, 07:48 GMT
<UL>
<LI><strong><A NAME="00656" HREF="msg00656.html">Re: [MUD-Dev]  Finding Space</A></strong>, 
Michael Hohensee <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Mon 18 Aug 1997, 19:22 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00657" HREF="msg00657.html">Re: [MUD-Dev]  Finding Space</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Tue 19 Aug 1997, 00:21 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00556" HREF="msg00556.html">[MUD-Dev]  Spellcaster, or Waving Hands</A></strong>, 
Cynbe ru Taren <a href="mailto:cynbe#laurel,actlab.utexas.edu">cynbe#laurel,actlab.utexas.edu</a>, Thu 14 Aug 1997, 17:50 GMT
</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>