[comp.graphics] Tough geometry problem

jbn@glacier.ARPA (John B. Nagle) (11/24/86)

     I need to calculate the distance between two objects described using
the superquartic primitives proposed by Pentland (in SRI Tech Note 357).
Anybody tackle this one yet?  I forsee about a month of work ahead, although
maybe I can use Macsyma to do some of the grunt work.

     If you're interested in what this is about, read on.

     The idea is to have a clean way to approximately describe real-world
objects.  The usual polyhedral approach leads to a very verbose description
of objects as simple as cylinders and spheres, and the description of (say)
animals or plants as polyhedra is very painful.  An alternative approach is 
to build up object from simple volumetric primitives, such as cylinders,
cones, spheres, and the like.  GMSolid, General Motors' entry in the solid
modelling game, works in this way.

     Pentland has an extension to this.  Instead of limiting the objects to
quartics, (things describable with exponents no larger than 2), he uses
superquartics, which allow bigger exponents.  Imagine a display of a
sphere attached to a "squareness" control; as you turn up the "squareness",
the corners become more square.  An intermediate figure looks like a TV
screen, and higher values look like later model TV screens; eventually
one gets a cube.  

     That's the basic figure.  One is then allowed three distortions of
the superquartic; stretching, bending (in a circular sense only) and
tapering.  All of these can be modelled as simple distortions of the
metric.  The resulting distored primitives can then be combined, using
the obvious operations of union and difference (which latter operation
corresponds to making a "hole" in something) to make complex objects.

      Given all this, I want to be able to calculate whether two such
constructed objects collide or if not, how far apart they are at the
closest point.   There are two parts of the problem; first, solving it
for figures without holes, and then dealing with holes, which complicates
the problem considerably.



					John Nagle

news@cit-vax.Caltech.Edu (Usenet netnews) (11/24/86)

Organization : California Institute of Technology
Keywords: superquartics, computational geometry, vector calculus
From: jon@oddhack.Caltech.Edu (Jon Leech)
Path: oddhack!jon

In article <13111@glacier.ARPA> jbn@glacier.ARPA (John B. Nagle) writes:
>     Pentland has an extension to this.  Instead of limiting the objects to
>quartics, (things describable with exponents no larger than 2), he uses
>superquartics, which allow bigger exponents.  Imagine a display of a
>sphere attached to a "squareness" control; as you turn up the "squareness",
>the corners become more square.  An intermediate figure looks like a TV
>screen, and higher values look like later model TV screens; eventually
>one gets a cube.  
>...
>     That's the basic figure.  One is then allowed three distortions of
>the superquartic; stretching, bending (in a circular sense only) and
>tapering.  All of these can be modelled as simple distortions of the
>metric.  The resulting distored primitives can then be combined, using
>the obvious operations of union and difference (which latter operation
>corresponds to making a "hole" in something) to make complex objects.

	You may be interested in two papers by my advisor, Alan Barr:

	'Superquadrics and Angle-Preserving Transformations', 
	IEEE Computer Graphics & Applications, Volume 1 #1 1981

	'Global and Local Deformations of Solid Primitives'
	Computer Graphics, Volume 18 #3, July 1984

	These do not address the issue of finding distance between
primitives but you may find other material of interest therein.

    -- Jon Leech (jon@csvax.caltech.edu || ...seismo!cit-vax!jon)
    Caltech Computer Science Graphics Group
    __@/

aaa@pixar.UUCP (Tony Apodaca) (11/25/86)

In article <13111@glacier.ARPA> jbn@glacier.ARPA (John B. Nagle) writes:
>     I need to calculate the distance between two objects described using
>the superquartic primitives proposed by Pentland (in SRI Tech Note 357).

>     Pentland has an extension to this.  Instead of limiting the objects to
>quartics, (things describable with exponents no larger than 2), he uses
>superquartics, which allow bigger exponents.

	I don't have SRI Tech Note 357, but I *think* I know what you're
talking about, since it sound's awfully familiar.
	Things which are "describable with exp no larger than 2" are QUADRICS.
The extensions are therefore called SUPERQUADRICS, and are due to Al Barr,
formerly of Rensselar Polytechnic Institute, now of Cal Tech (he developed
them as part of his PhD research) (credit where credit is due).  Al's work
is a 3-D extension of 2-D superquadric work done by an earlier mathematician
whose name escapes me at the moment.  The key is not "bigger" exponents,
but "any" exponents (specifically, real numbers).  Squareness is reached at
the limit of exp -> 0, not exp -> infinity.
	These shapes are fun, since they model cubes, spheres, cones,
cylinders, ellipsoids as special cases, and do dice, pillows, "jax",
helixes etc etc etc in the more general forms.

	References: "Superquadrics and Angle-Preserving Transformations",
IEEE Computer Graphics and Applications, Vol 1, No 1, January 1981.
	"Global and Local Deformations of Solid Primitives", Proceedings
of SIGGRAPH 1984.
	etc.

dherbison@watcgl.UUCP (11/26/86)

The problem of finding the distance between 2 ellipsoids appears
to only have been solved recently, by Richard Buckdale of the
Basser Department of Computer Science, University of Sydney,Australia.
If you are interested, you might make a request for the appropriate
technical report from the secretary there (joyce@basser.oz).
Basicly, the answer is the root of a 6th degree polynomial, and
luckily it is the root obtained by Newton-Raphson from the origin.
Superquadrics are probably harder.

boswell@pyr1.Cs.Ucl.ac.uk (12/03/86)

 > /* Written  8:46 pm  Nov 24, 1986
 >	by news@cit-vax.Caltech.Edu in pyr1:net.graphics */
 >
 > In article <13111@glacier.ARPA> jbn@glacier.ARPA (John B. Nagle) writes:
 > >...
 > >superquartics, which allow bigger exponents.  Imagine a display of a
 > >sphere attached to a "squareness" control; as you turn up the "squareness",
 > >the corners become more square.  An intermediate figure looks like a TV
 > >screen, and higher values look like later model TV screens; eventually
 > >one gets a cube.  
 > /* End of text from pyr1:net.graphics */

Don't know how relevant to this particular discussion this might be,
but this sort of shape, in 2 and 3 dimensions (maybe more, but I don't
remember), is discussed, in a fair amount of detail, in Martin
Gardner's book "Mathematical Carnival" under the heading of
"Supereggs".

	Phil.