On 8/14/19 5:44 PM, KyonInsane wrote:

> Hi All,

>

> I am struggling with a project that wants to fracture a 3D model (surface

> mesh) in to convex pieces using 3d voronoi. I know that we can use boolean

> operations to cut meshes. And I have read the example using LLC to get

> finite Voronoi cells given set of points.

>

> My approach is to generate a set of points inside the surface mesh, and use

> the points to create Voronoi cells, and with each cell, perform a boolean

> intersection with the mesh to get all the fractures.

>

> The questions are :

> 0. What is the proper way to convert each Voronoi cell to surface mesh?

> Given all its points, I am thinking just use convex hull functions that CGAL

> provided.

For a first shoot, using the Convex hull code is the simplest solution.

> 1. How do I use all cells (including the infinite part) to perform boolean

> operation with mesh? (do I need nef_polyhedron for the infinite part? if so,

> how am I supposed to do convert LLC to nef_polyhedron?)

That part might be a bit tricky. It would be easier if you generate some

points outside your mesh so that the convex hull of those points

contains the mesh. Simplest candidate are the corner of the bbox of the

mesh.

If you cannot add the outside points, you should clip the finite

Voronoi cell using the bbox of the mesh to make things simpler.

> or

> 2. Is it possible, with bounding box of the mesh, create Voronoi cells that

> are all bounded(finite), so I can use to perform boolean operation?

>

I remember that one student from Monique was writing some code to get

the clipped dual of a Voronoi cell but I don't remember what was the

outcome of this code. Monique, do you remember?

Sebastien.

--

You are currently subscribed to cgal-discuss.

To unsubscribe or access the archives, go to

https://sympa.inria.fr/sympa/info/cgal-discuss