Fracturing of a 3D Object

66 Views Asked by At

Although this is a computer science applied subject, all the underlying logic is mathematical and geometric. I am trying to write code that will enable me to split an object into random fragments, like Voronoid and Delaunay mappings. However, I think the authors go well beyond the scope of my needs for this project. I have also found projects, done in code for this, but it was either overdone or used libraries I did not want to use. I simply want to be able to, based on the vertices of my object, split it into 3D fragments of random shapes, in the Voronoi style. Therefore, since the new shapes will be random, I would not expect a simulation to produce a perfect Icosahedron, or anything of this sort. Could anyone please help? Remember-simple.

A side note- in these computer based simulations, the ordering of the vertices are hashed, and we cannot refer to any individual vertex. Instead, an algorithm must be used to go through each vertex, one by one, to determine its orientation based on distance and angle from other vertices.

1

There are 1 best solutions below

0
On

"Remember-simple." I don't think there is a simple solution. Let me interpret "random fragments" as irregular tetrahedra. If these are not random enough, you could join adjacent tetrahedra randomly.

Already partitioning a 3D object into tetrahedra is not simple, unless your shape is convex. However, it has been heavily studied. See, for example, the CGAL manual.


          CGAL sphere
          (Image from CGAL manual.)
If your shape is nonconvex, you could partition it into convex pieces, and tetrahedralize those. But such a partition is not easily found.