Randolph Franklin and Mohan S Kankanhalli have published a paper, “Volumes From Overlaying 3-D Triangulations
in Parallel” describing a way to compute volumes of intersections of polyhedra.
I have corroborated their mysterious formula for measuring the perimeter of a polygon with this small program and areas here.
I will test their formulae more generally but perhaps first in context of programs to deal with general simplexes.
The generalization to deal with higher dimensions is obvious.
Their methods are congruent in part with my methods for computing areas of polygon intersections in that they sum over scalar expressions on points at which k-simplexes intersect with (n−k)-simplexes in n dimensions.
This note is to think out loud about applying their method to bounded hedra in n dimensions.
For a complex C embedded in n Euclidian dimensions the expression for the aggregate content of the k dimensional sub complexes of C is vaguely:
P is the vector from some fixed origen to C0 (see below).
To explain this expression we introduce the notion of a sequence {C0, ... Cn} of complexes.
Cj is a j-complex for 0≤j≤n.
For 0≤i<n Ci is incident on Ci+1.
(Ci is a sub-complex of Ci+1.)
C0 of such a sequence is a 0-smplex that is a vertex of C, the original complex.
(Such a sequence is closely related to the Chain complex.)
For a particular sequence {T1, ... Tn} is an orthonormal set of vectors.
For 1≤j≤n the vectors {T1, ... Tj} all lie in the subspace of Cj.
Ti points into Ci (make this precise).
The sumation is over all possible sequences.
If C is a simpex there are n! sequences.
Computing the Tj’s is precisely the Gram-Schmidt process.
Continuing this development we will assume here that C is an n-complex bounded by (n−1)-simplexes.
Thus for all of the sequences Ci will be a simplex for i < n.
In our programs we can identify a sequence by an ordered set of vertex indices {I0, ... In} where each element Cj of a sequence is the convex hull Ck = (hull{V[I0], ... V[Ik]}) of an initial portion of the ordered set.
(V is the array of all vertices of C.)
For a (n−1)-simplex that is in the boundry of C there are n! sequences—one for each permutation of the elements in the list defining the chain.
where i ranges from 0 thru k and Ti is a unit vector orthogonal to Tj for j< i and in one of the sub complexes of
(The verticies of Ci+1 are just those of Ci plus one new vertex.)