From: "C. Hillman"
Newsgroups: sci.math
Subject: Re: finding volume of tetrahedron with one vertex at origin
Date: 14 Jan 1997 12:57:19 GMT
In article <32DAA78E.7078@qlink.queensu.ca>,
Paul Turkstra <6pt@qlink.queensu.ca> writes:
|> How do I find the volume of a tetrahedron with vertices at the origin,
|> (1,2,0), (0,1,3) and (1,1,1) using determinants and the like?
From a submission which apparently never made it into the FAQ for this
newsgroup:
THE VOLUME OF SIMPLICES
Simplices (plural of ``simplex'') are convex bodies which generalize
the notions of triangles and tetrahedra to n-dimensional euclidean space,
E^n. A k-dimensional simplex has k+1 (affinely independent) vertices,
(k+1)k/2! edges, (k+1)k(k-1)/3! two dimensional faces, and so forth up to
k+1 (k-1)-dimensional faces. Just as triangles can exist in E^3,
k-simplices can exist in E^n for any n >= k.
Any convex polytope (the generalization of polygons and polyhedra to E^n)
can be partitioned into simplices (just as any convex polygon can be
partitioned into triangles), so in principle if you can compute the volume
of arbitrary simplices, you can compute the volume of any convex polytope.
There are several pretty and easily implemented formulae which give
the volume of a k-dimensional simplex sitting in euclidean n-space, S,
in terms of different kinds of given information, such as the coordinates
of the vertices or the lengths of the edges. These formulae can be used
by anyone who knows how to compute a determinant, although software such
as Mathematica will probably be needed to evaluate really large
determinants.
I will write Vol_k for ``k-dimensional volume'' (really k-dimensional
Lebesgue measure, for those who know what this means); thus Vol_1 means
length, Vol_2 means area, and so forth. Unless stated otherwise, S
will denote a k-dimensional simplex in E^n, where n \geq k.
Vol_k(S) will mean the k-dimensional volume of S.
A hyperplane in E^n is an (n-1)-dimensional plane.
1. COMPUTING THE VOLUME OF A SIMPLEX WITH KNOWN VERTICES.
Let S have vertices given by the n-dimensional row vectors v_0, v_1, ... v_k.
Let w_1 = v_1 - v_0, w_2 = v_2 - v_0, ... w_k = v_k - v_0
and let W be the k by n matrix whose rows are the row vectors w_j,
1 \leq j \leq k. Then the GRAM DETERMINANT FORMULA says
| det W W^t |^{1/2}
Vol_k (S) = ------------------
k!
where W^t is the transpose of W. Note that W W^t is a k by k matrix,
so this formula makes sense.
2. COMPUTING THE VOLUME OF A SIMPLEX WITH KNOWN EDGE LENGTHS.
Let v_0, v_1, ... v_k be the (unknown) vertices of S and suppose
that || v_i - v_j || = d_{ij} is known. Let D be the k+2 by k+2 matrix
| 0 1 1 .... 1 |
| 1 0 d_{01}^2 .... d_{0k}^2 |
D = | ... .... .... .... |
| 1 d_{k0}^2 d_{k1}^2 .... 0 |
Then the CAYLEY-MENGER DETERMINANT FORMULA says
| det D |^{1/2}
Vol_k(S) = ---------------
2^{k/2} k!
This generalizes the HERON FORMULA for the area of a triangle in terms of its
edge lengths.
3. COMPUTING THE VOLUME OF A SIMPLEX WITH KNOWN HYPERFACES.
Let S be the n-simplex in E^n whose faces are the n+1 hyperplanes
whose Cartesian equations are given by
a_{i0} + a_{i1} x_1 + a_{i2} x_2 + ... a_{in} x_n = 0
where 0 <= i <= n. Note that the x_j are variables standing for real
numbers and the a_{ij} are real constants.
Let A be the n+1 by n+1 matrix with elements a_{ij} and let A_{i0} be the
cofactor matrix of A with respect to a_{i0}. Then the
KLEBANER-SUDBURY-WATTERSON DETERMINANT FORMULA says
| det A |^n
Vol_n (S) = ---------------------------------------
n! det A_{00} det A_{10} ... det A_{n0}
Note this is valid only for an n-simplex in E^n.
REFERENCE:
See the paper by Peter Gritzmann and Victor Klee, ``On the complexity of some
basic problems in computational convexity II: Volume and mixed volumes'',
in the book
Polytopes : abstract, convex, and computational,
edited by T. Bisztriczky.
Boston: Kluwer Academic, 1994.
This is a state of the art survey paper discussing the general problem of the
efficient computation of volume of convex bodies in E^n, and discusses such
fundamental topics as the Brunn-Minkowski theory of mixed volume (a sort of
average of the volume of several bodies) the volume of Minkowski sums of
polytopes, and efficient dissection into simplices, among other things.
The Gram, Cayley-Menger, and KSW formulae are discussed in sections 3.6.1,
3.6.2, and 3.6.3 respectively of this paper.
Chris Hillman