Newsgroups: comp.constraints,sci.math,sci.op-research,comp.theory
Path: cantaloupe.srv.cs.cmu.edu!nntp.club.cc.cmu.edu!miner.usbm.gov!news.er.usgs.gov!stc06.ctd.ornl.gov!news.he.net!news-feed.inet.tele.dk!mr.net!news.maxwell.syr.edu!news-xfer.netaxs.com!cam-news-hub1.bbnplanet.com!news.bbnplanet.com!cpk-news-hub1.bbnplanet.com!worldnet.att.net!anchor.cis.att.com!cbgw1.lucent.com!nntphub.cb.lucent.com!alice!clarkson
From: clarkson@research.att.com (Ken Clarkson <8718-20110> 0112720)
Subject: Re: Computing a boundary representation from lin. inequalities
X-Nntp-Posting-Host: alice.cs.bell-labs.com
Message-ID: <E3st15.2Aw@research.bell-labs.com>
Sender: usenet@research.bell-labs.com (netnews <9149-80593> 0112740)
Organization: Bell Labs / Lucent Technologies, Murray Hill, NJ
References: <32D24CDA.4FF3@zeus.informatik.uni-bonn.de>
Distribution: inet
Date: Fri, 10 Jan 1997 15:15:05 GMT
Lines: 48
Xref: glinda.oz.cs.cmu.edu comp.constraints:1470 sci.math:180865 sci.op-research:7233 comp.theory:17654


In article <32D24CDA.4FF3@zeus.informatik.uni-bonn.de>, Ulrich Frenkel <frenkel@zeus.informatik.uni-bonn.de> writes:
|> Hello!
|> 
|> Can anybody give me a link to an algorithm transforming a set of linear
|> inequalities to a boundary represenation of the corresponding
|> convex polygon (2D) and polyhedron (3d)?

Using projective duality, this problem is relatively easily reduced to
the problem of computing the convex hull of a set of points:  the
convex polyhedron that is the set of convex combinations of the
points.  The reduction goes like this:

find a point Z that is in every halfspace in your set of halfspaces
(in 2d, half-planes).  This is a linear programming problem.

Translate the coordinate system so that Z is the origin.

In this new coordinate system, every halfspace can be expressed as
{ x | a_i x <= z}, where z>=0 and i=1..n, which means that every halfspace
can be expressed as { x | a_i x <= 1}.  Make such a change of
representation.

Now compute the convex hull of the vectors a_i, i=1..n.  Each facet of
the convex hull (edge in 2d, bounding triangle in 3d, assuming the
points are in general position) corresponds to a vertex of the
intersection of halfspaces.

This reduction is proved correct in any "computational geometry"
textbook, for instance:

@book{e-acg-87
, author =	"H. Edelsbrunner"
, title =	"Algorithms in Combinatorial Geometry"
, series =	"EATCS Monographs on Theoretical Computer Science"
, volume =	10
, publisher =	"Springer-Verlag"
, address =	"Heidelberg, West Germany"
, year =	1987
, keywords =	"design of algorithms, discrete geometry, book"
, update =	"93.09 erickson"
}

There are many codes available for computing convex hulls efficiently:
see http://www.geom.umn.edu:80/software/cglist/ for links to codes in
2d and in general dimension.   The FAQ also has some links.

-Ken
