I'm trying to triangulate complex 3D objects, that may have holes in them. Now I tried going over the problem myself, after a few hours I didn't get anything that would work all of the time, so I've been searching around and without much luck. Does anyone know of any algorithms, or free libraries, that would suit my needs. Links to any relevant documentation would be appreciated as well.

Also as a note, I'm a self taught programmer/cs-tist.

I have a set of points and I need to provide a game engine the shape in triangles. I get these points from a shape, I then add points to add area, subtract area, or split the shape. After modifying/adding points I need to give the game engine the shape in triangles as well as other information. Holes could be anywhere in any shape.

  • $\begingroup$ Can you expand on what you mean by "complex 3D objects"? How are you representing the objects currently? $\endgroup$ Jul 16, 2016 at 5:26
  • $\begingroup$ Are you dealing only with closed surfaces with holes (such as a bagel or doughnut) or also with holes that lead to the interior of the surface (such as a sphere with a hole leading inside)? $\endgroup$ Jul 17, 2016 at 10:35
  • $\begingroup$ A given collection of points can be connected into a wide variety of different shape surfaces. Could you explain how these points are produced or how they relate to the intended surface? $\endgroup$ Jul 17, 2016 at 10:51
  • $\begingroup$ Would using some algorithm like marching cubes over a density field work for you? You could populate a density field with contributions from the points and then sample from that. $\endgroup$
    – porglezomp
    Aug 6, 2016 at 22:10

1 Answer 1


What it means to "triangulate complex 3D objects" is not unambiguous. Just one possible interpretation: You have a 3D polygon in space, and you want to triangulate that. This is NP-hard:

Barequet, Gill, Matthew Dickerson, and David Eppstein. "On triangulating three-dimensional polygons." Proceedings of the 12th Symposium on Computational Geometry. ACM, 1996. (ACM link.)



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.