Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Reliable way to offset a mesh?

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Reliable way to offset a mesh?


Chronological Thread 
  • From: "Sebastien Loriot (GeometryFactory)" <>
  • To:
  • Subject: Re: [cgal-discuss] Reliable way to offset a mesh?
  • Date: Wed, 23 May 2018 08:57:32 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:61H/fxLHuMAs83whJ9mcpTZWNBhigK39O0sv0rFitYgfKf7xwZ3uMQTl6Ol3ixeRBMOHs6kC07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwtFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QLYpUjqg8qhrUgflhjoZOT438G/ZicJ+g6xUrx2juxNxzJXZYJ2XOfdkYq/RYd0XSGhHU81MVyJBGIS8b44XAuYPIOhXsZLyqEEVrRuiBAmjGuXvwSJOiH/xx6060uMhER3b1wAkHtwBrnPUrNDrO6cOS+C0zKnGwi/fYPNK3jf98ojJfhUvrfqRWr9was7RyU41FwPEiVWQtZbpPzaR1ukWvGib6vBvVeOri2I9tw5xpT2vy94qh4LUiIwVzVXE+j94wIYzPdC4SUh7YcSlEJRKrS2aOZF2TtstQ2FppCY6yqAGtoWhcCcWz5QnwgbTZOCIc4eS5hLvTuGRIS13hH9jZbmxhA6y/FCix+DzTMW4zUhGoypfntTPqHwBzRPe58ufRvZ//UqtwyiD2g/S5+1ePEw5kaTWJ4Qjz7MwkJcYrF7NETXsmErsia+bbkUk9fas6+Tgerjmo4WTN45wig3nPKUun9CzDf02MgUBXGWX4+u81Lrk/U32RLVFkOc6nbXesJDfPcgbp6i5DBFJ0os76RuyAC2q3MkGkXQHNl5IewyLg5LmNlzNOPz4CO2wg1WokDdl3fDGObjhD43WLnjHl7fhZ7d960lAyAYpyNBf44lZCr4EIP3pW0/xsMbUAQM+Mwyx2+rnEsly1psCWWKTBa+UKL/dsVCS6eIrOuWDeY4VuC3hJPg4/P7ulmQ0mUQdfKmsxZsYcmq0HvVgI0WDYHrjmM0NEWkQvll2cerxlVfXUSJPf23gGOUn9zQjAcSnC53CT8ajmvuazSKjF9pXYG5BTVuDGHOte4SfUOoXc3GuJZpqnTUAELSgUIQ8zgqGtQngyrMhIPCH1DcfsMep79V/7vbPlBw0vRhzFcWazynNYGxzm24UXS4Y1atjplZsix3LhbN8hOZZEsAV4vdhXQIzNJqaxOt/XYOhEjndd8uEHQ71Cu6tBis8G4poko0+Jn1lEtDntSjtmi+jArsbjbuOXcVm/afV3ny3LMF4mS+fiPsRymI+S84KDlWIw7Zl/lGKVYHMmkSd0a2tcPZEhXOfxCK41WOL+XpgfktwXKHCBy1NY0LXqZHm4xuHQeP+T7sgNQRFxIiJLa4YMtA=



On 05/22/2018 08:33 PM, Zesen Qian wrote:
Hi Sebastien,

Thanks for this. I wrote the program myself and I'm using surface_mesh
instead of mesh_3. Question: Why will Mesh_3 be faster? From what I
understand this will not only generate facets but also cells inside
the shape? How will that accelerate the process?
Mesh_3 code has been updated to take advantage of threads so it will be faster. Moreover, the code of Surface_mesh has not been updated for some
time now because we are planning to replace it with the implementation of Mesh_3. If you put no constraints on the tetrahedra, only the constraints on surface facets will make the mesh work more.

Sebastien.


And in particular, if I'm not interested in the cells, how should I
set the parameters concerning it? i.e., cell_radius_edge_ratio and
cell_size.

Best,
Zesen

On Tue, May 22, 2018 at 2:25 PM, Sebastien Loriot (GeometryFactory)
<>
wrote:
Note that this PR : https://github.com/CGAL/cgal/pull/3043
will bring some noticeable speed up as well as parallel mesh algorithm.

Best,

Sebastien.


On 05/22/2018 07:18 PM, Zesen Qian wrote:

Hi Sebastien,

Sorry for keep spamming your inbox - but I found how to sample areas
differently based on variety. For future reference, the parameter
distance_bound constrols the max distance from every generated facet
to the surface. So when the same value applies to different areas, the
areas with more details will get sampled more.

Thank you so much for the help!

Best,
Zesen

On Tue, May 22, 2018 at 11:11 AM, Zesen Qian
<>
wrote:

Hi Sebastien,

I think I was mistaken - I tried it again and it seems that I don't
have to do too much about the angle_bound - adjusting other parameters
would suffice to give a decent result.

However, it is indeed slow. One feature of my mesh is that it donsn't
have to be evenly sampled - some areas require more details than
others. Can I do some trick so that those area receive extra
sampling, while other more monotone area get less, so I can save some
processing time?

Best,
Zesen

On Tue, May 22, 2018 at 10:26 AM, Zesen Qian
<>
wrote:

Hi Sebastien,

Thanks for this. I don't know if that's a similiar thing, but I tried
https://doc.cgal.org/latest/Surface_mesher/
by a distance function(with AABB_tree and side_of_triangle). Seen from
the source code of the plugin, it's very similar.

To get a decent result it's quite slow. If I set the angular bound to
90 degree(more than 30), the algorithm is not garanteed to
terminate(and indeed in my case). My mesh has some very thin layers
that's easy to be ignored by meshing, so I don't expect this method
to work.

What I'm now trying is simply using the "solidify" modifier in
Blender, and fix the potential self-intersections using refining and
outer-hull operation, and then use boolean operation with the original
mesh to get a offseted mesh. I'm using libigl to do these tasks.

Best,
Zesen

On Tue, May 22, 2018 at 9:59 AM, Sebastien Loriot (GeometryFactory)
<>
wrote:

There is indeed nothing official in CGAL. However, in the Polyhedron
demo we wrote a small plugin that is meshing the distance function to a
mesh
and the output is by construction guaranteed to be free from
self-intersections. However sharp features are not correctly meshed if
not protected.

Go into 3D Surface Mesh Generation -> Offset meshing once having loaded
a polyhedron.

Source code is here:

https://github.com/CGAL/cgal/blob/releases/CGAL-4.12-branch/Polyhedron/demo/Polyhedron/Plugins/Surface_mesh/Offset_meshing_plugin.cpp

HTH,

Sebastien.


On 05/17/2018 07:44 PM, Zesen Qian wrote:


Hi list,

I have a triangulated, closed mesh which is free of any degeneracies.
Is there any reliable way to offset this mesh? By reliable I mean the
result mesh should be free of any degeneracies.

I searched on Internet and there is simply not an library/program
available that can do this. I guess CGAL isn't capable of this either,
but I believe people on this list should be familiar with this topic
and maybe offer some comments.

Thank you.

Best,
Zesen


--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss




--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss






Archive powered by MHonArc 2.6.18.

Top of Page