Subject: CGAL users discussion list
List archive
[cgal-discuss] What is the appropriate kernel/epsilon for CSG on inaccurate (float innaccuarcies) meshes?
Chronological Thread
- From: Arthur Silber <>
- To:
- Subject: [cgal-discuss] What is the appropriate kernel/epsilon for CSG on inaccurate (float innaccuarcies) meshes?
- Date: Thu, 25 Oct 2018 20:03:24 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-phdr: 9a23:CaVT3BZ9+CZ2jvVnikqenkj/LSx+4OfEezUN459isYplN5qZoM66bnLW6fgltlLVR4KTs6sC17KJ9fi4EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCa/bL9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPCTQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjmk8qxlSgLniD0fOjE28G/ZhM9+gr9Frh29vBF/2ZLYbZuPOfZiYq/Qf9UXTndBUMZLUCxBB5uxYpcVD+odPeZYspP9rEYToxu/AQmjH/3gyiVVjXLxx6I6yfghEQHb3Aw6BN8Bqm7UrMn1NKcPS+C116jIzTHYYPxIwzfx8pXHfQ44rPyKQLl+ctLRxFExGw/Zilics4/oMjOP2ugTrWSX8vBsWf+thmMjrQx6vyKhyd02iobTg4IY0lDE+jt9wIYyPdC4TVR0Yd+gEJdJqSGaNJZ6TtosQ211uis3zqcKuZG8fCgNx5QnwwDQZ+abfIiP5xLvTOeRITFmi3J5YL+zmQq+/Ey6xuD/VsS4ykhGojRYntXWq3wA1Rje5tCCSvRn/0eh3TiP1xrU6uFBOU07j7DbK4Ihwr4tjJoeql7MHjXqmEX2ka+WbF4k+ums6+v8fLrmvIWQOJJqhQ3mKKQhhtS/AfgkMggJR2WU5eu826fn/UHgXbpKj+Y2nbXEsJDBPsQWvbW5Ag9Q0oY78RmzFTam0NICnXkGNl1JYhyHj5K6c23Jdfv3BPP6j1W3mypw3NjHOKfgC9PDNCvtirDkKJ9n905B0kIIzNRV6ogcXrgbPPLuQGf4rsDYEwUiMgi+zvyhBNgrhdBWYn6GHqLMaPCailSP/O96e7DdNr9Qgy70Lr0e39CriHY4nVEHeqzwgskecmy4A+59IkGTbGCqjtpTSD5W7Dp7d/TjjRi5aRAWf2y7Bv1u7ysnCJ+8FobHTI23xrCMjn/iQ89mI1teA1XJKk/GMoWJX/BWNnCXK85l1yIHDP2vEtBwkx6pswD+xvxsKe+GoiA=
Hi,
I haven't found answers using google, so maybe cgal-discuss has some ideas on how I can proceed:
I am using CGAL to compute CSG boolean operations with OFF meshes using mostly the example code using Nef_polyhedron. My input meshes use xyz-float coordinates and I cannot change this, unfortunately.
CSG works great if I can pre-process meshes, i.e. round all points to a certain precision to avoid floating-point inaccuracies that come from my meshes.
However, in some cases, I cannot do this rounding, as that would make things worse. Consider this example:
I want to union the orange mesh with the blue mesh. With floats as coordinates, I can position the orange mesh onto the blue mesh, but whether the red points of the orange mesh are on/inside the blue mesh, depend on the accuracy on the translation math done before and might or might not be true for the given float xyz-values. Rounding point positions might make things worse, as the red points might be extra-far away of the blue surface after rounding than before.
So: Is there a kernel or a way to tell CGAL to use epsilon-distances here? As in "I know my accuracy might work up to 4 digits after comma, but please ignore everything more fine-granular and use epsilon math, as in: consider the red points to be connected with the blue surface even if there might be a distance of 0.00000001"
I'd be really grateful for some ideas.
Thanks a lot!
Arthur
- [cgal-discuss] What is the appropriate kernel/epsilon for CSG on inaccurate (float innaccuarcies) meshes?, Arthur Silber, 10/25/2018
Archive powered by MHonArc 2.6.18.