Susanne, converted into a bunch of tetrahedrons
Slightly more interesting example, a bedroom scene with complex and highly convex objects
But Alex, why convert a geometry into a bunch of tetrahedrons?
Iām glad you asked, I was afraid you wouldnāt. Tetrahedrons have a massive advantage when it comes to analysis. Because tetrahedron is the simplest volume-enclosing 3d shape.
If you want to do physics with a random 3d mesh - you generally canāt. And not because I withhold permission, by all means - you have my blessing. The problem is that itās very hard. However, checking for collisions with convex shapes is much easier.
Some shapes area already convex, such as a sphere, or a box. But most real-world meshes are not fully convex. Many physics engine cheat, and shrink-wrap a mesh into a convex hull. This lets you do physics on the mesh, but you lose an enormous amount of detail. Let me demonstrate in 2D. Letās pretend this is a chair
And hereās what the convex hull of it would look like
Imagine you try to drop a ball onto the chair now
The ball bounces off an invisible slope. Siminarly, try to place a ball underneath
The chair will hover in the air above for a moment and tip over on the side
So⦠tetrahedrons are awesome, because they allow you to describe the shape exactly, while keeping the convex property, so you can do collision detection.
Tetrahedral mesh itself is also super useful for finite element methods, that is - imagine you wanted to propagate a force or heat through an object. Tetrahedral mesh has a notion of neighbours
Incidentally, soft-body dynamics often is implemented using this exact method.
If anyone is specifically interested, itās under /core/geom/3d/tetrahedra/compute_tetrahedral_mesh_from_surface in Meep Engine.
The work is heavily built on top of tetrahedral mesh generation system I already built in the past for light probe volumes.









