5

I have got a polyhedron and the face points (for each of the faces) are basically coplanar but CGALsays they are not, this makes sense as the points are read from a file and there are only 14 significant digits so they will not be exactly coplanar. Is there a way to consider a tolerance in assuming face points are coplanar in order not to have a tesselletion with some volumes of order 1e-17? For example how does one tell CGALthat say, (0, 0.0000) and (1, 0.0001) are on the same line? Is it even possible?

For the moment I just ignore the slivers after computing the volumes and get a triangulation (the resulting hull won't be convex by CGAL standards of course) of decent non degenerate tets that I use as a partition to integrate functions on the polyhedron. I am happy with it if this the fastest way to do it, Is it? I am using the EPIC Kernel.

Any tips or references are appreciated because I am rather new to CGAL. Thanks.

lucmobz
  • 453
  • 3
  • 8
  • It looks like there is no way to tell CGAL to process non-planar facets as planar ones, however you can modify your input data - this process is called *planarization*. Is it implemented in CGAL? I'd like to know as well – HEKTO Dec 20 '20 at 05:26
  • 1
    As points with floating point numbers are on a discrete grid, it is probably not always possible to find positions for them so that they would be coplanar with arbitrary precision. I am wondering if the mesh optimization algorithms would be of any help for you ( https://doc.cgal.org/latest/Mesh_3/index.html#Mesh_3OptimizationPhase ). Or maybe some steps of Tetrahedral Remeshing ( https://doc.cgal.org/latest/Tetrahedral_remeshing/index.html#Chapter_Tetrahedral_Remeshing ). – Andreas Fabri Dec 20 '20 at 15:38

0 Answers0