Hi list,
I have several question about Mesh_3. 1. I'm generating isosurface by implicit function. It requires that the center of the sphere be inside of the mesh. The question is, given an arbitrary mesh, how can I find such a point? 2. Due to the first problem(I guess), the mesher seems to be sampling a lot at a specific spot on the surface, making the mesh very dense at that spot. While the generated mesh is self-intersection free by construction, the exported .off is not(because of the precision issue). I have set the precision to 17-digits and it doesn't help. I guess one approach is to give a lower bound on the facet_size, but I coudln't find such a parameter. Another approach is to simplify the mesh, but I'm worried this might lose some details of the mesh. 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 |
Le Tuesday, June 5, 2018 7:47:50 PM CEST Zesen Qian a écrit :
> Hi list, > > I have several question about Mesh_3. > > 1. I'm generating isosurface by implicit function. It requires that > the center of the sphere be inside of the mesh. The question is, given > an arbitrary mesh, how can I find such a point? Hi, You talk at the same time about an implicit function and a mesh. What is actually your input? > 2. Due to the first problem(I guess), the mesher seems to be sampling > a lot at a specific spot on the surface, making the mesh very dense at > that spot. While the generated mesh is self-intersection free by > construction, the exported .off is not(because of the precision > issue). I have set the precision to 17-digits and it doesn't help. I > guess one approach is to give a lower bound on the facet_size, but I > coudln't find such a parameter. Another approach is to simplify the > mesh, but I'm worried this might lose some details of the mesh. That is probably related. The default initialization of the mesh is done by shooting random ray around a point (and that point is the center of the sphere by default). If that point is close to the iso-surface, then ray shootings will produces initial points that are very close. -- Laurent Rineau, PhD R&D Engineer at GeometryFactory http://www.geometryfactory.com/ Release Manager of the CGAL Project http://www.cgal.org/ -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://sympa.inria.fr/sympa/info/cgal-discuss |
Hi Zesen Qian, As Laurent pointed out the algorithm for finding initial points
has If you have a polyhedral surface then taking some vertices which https://gist.github.com/afabri/1bbf46c6fd4f742bd982 Andreas On 6/6/2018 5:41 PM, Laurent Rineau
(CGAL/GeometryFactory) wrote:
Le Tuesday, June 5, 2018 7:47:50 PM CEST Zesen Qian a écrit :Hi list, I have several question about Mesh_3. 1. I'm generating isosurface by implicit function. It requires that the center of the sphere be inside of the mesh. The question is, given an arbitrary mesh, how can I find such a point?Hi, You talk at the same time about an implicit function and a mesh. What is actually your input?2. Due to the first problem(I guess), the mesher seems to be sampling a lot at a specific spot on the surface, making the mesh very dense at that spot. While the generated mesh is self-intersection free by construction, the exported .off is not(because of the precision issue). I have set the precision to 17-digits and it doesn't help. I guess one approach is to give a lower bound on the facet_size, but I coudln't find such a parameter. Another approach is to simplify the mesh, but I'm worried this might lose some details of the mesh.That is probably related. The default initialization of the mesh is done by shooting random ray around a point (and that point is the center of the sphere by default). If that point is close to the iso-surface, then ray shootings will produces initial points that are very close. -- Andreas Fabri, PhD Chief Officer, GeometryFactory Editor, The CGAL Project phone: +33.492.954.912 skype: andreas.fabri |
Free forum by Nabble | Edit this page |