Let’s say I have some arbitrary set of points connected by faces and lines in order to make a closed polyhedron. Is there any algorithm that can divide such a mesh into a group of tetrahedra?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You can look to construct a constrained Delaunay triangulation (i.e. tetrahedralisation) of the points in
R^3, where the constraints are a list of edges and triangular faces.Be aware though — in dimensions higher than two it is not always possible to form such a constrained triangulation directly! A good example is the Schonhardt Polyhedron. To deal with such polyhedra it’s necessary to ‘split’ the constraints by introducing additional vertices. As I understand it, it is still an open area of research to determine the “best” way to do this, although a range of heuristic approaches have been suggested.
You might be interested in Jonathan Shewchuk’s research/software in this area, specifically, his papers:
Address some of the issues of higher-dimensional constrained triangulations.
Also, I’ve assumed that your problem is non-trivial — with a set of constraints that define a non-convex polyhedron. In the case of convex constraints these should be recovered directly just by computing the unconstrained Delaunay triangulation, which is guaranteed to exists in any dimensionality.