Polytope parametrization

325 Views Asked by At

How one could parametrize a convex polytope?

By parametrization I mean something like in multiple integrals, when to integrate over an area one can integrate over one variable in an interval $[l,r]$ and inside over other in $[l(x),r(x)]$

More formally, how one could take a convex polytope (in H- or V-representation, does not matter to me) and describe it in H-representation as $$ l_1 \le x_1 \le r_1 \\ l_2(x_1) \le x_2 \le r_2(x_1) \\ \ldots \\ l_d(x_1,\ldots,x_{d-1}) \le x_d \le r_d(x_1,\ldots,x_{d-1}) $$

Since not every polytope can be represented in that way, I'm also interested in a way to split a polytope to many that can.

2

There are 2 best solutions below

4
On

It's hard: computing the volume of a convex polytope is $\#P$ hard. For various related issues , heuristics, and occasional algorithms, see this nice presentation by Jesus de Loera.

1
On

Here's an answer for 3D space; I don't know if/how it generalizes.

Basically, you can choose some arbitrary origin, and decompose the given polyhedron into a collection of pyramidal volumes that each have this origin point as apex.

Then, you can get the volume of the original polytope by adding together the (signed) volumes of these pyramidal volumes.

There's a document here, http://www.geometrictools.com/Documentation/PolyhedralMassProperties.pdf, and the same web site has C++ code to do the calculations. None of this requires the kind of parameterization you mentioned.