Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] Joining Faces for any Mesh - What's the Most Fitting Data Structure?
Chronological Thread
- From: Marc Alexa <>
- To:
- Subject: Re: [cgal-discuss] Joining Faces for any Mesh - What's the Most Fitting Data Structure?
- Date: Fri, 28 Feb 2020 10:34:42 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-phdr: 9a23:kN2JsBJ4kjRP9S7U+tmcpTZWNBhigK39O0sv0rFitYgfKfnxwZ3uMQTl6Ol3ixeRBMOHsq4C2rqd6/uocFdDyKjCmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexfLx/IA+yoAjSucUanYVvIbstxxXUpXdFZ+tZyWR0KFyJgh3y/N2w/Jlt8yRRv/Iu6ctNWrjkcqo7ULJVEi0oP3g668P3uxbDSxCP5mYHXWUNjhVIGQnF4wrkUZr3ryD3q/By2CiePc3xULA0RTGv5LplRRP0lCsKMSMy/WfKgcJyka1bugqsqRxjzIDbb46bKfRwfq3Dc9wYRmRPWd1cVzBYAoO5c4cPD/YNMOReooLgp1UOtxy+BQy0Ce3o0DBInGP51rAm3uQlDw7H0xYvFM8JvXTRttr1LrsdXfqvw6nM0zrCYOlZ1Czy6IjNaB8hoPWMUahsfsrWzEkiDgXIhUiep4ziOjOazOUNs26D4uV8WuKgkWonpxt2oji1yccgko/JiZgOxV/f8SV23pw5KsG/SE5+edKkEZ1QtzubN4RsWM8iTXtotSAnwbMFoZ62ZDYGxIgjyhLFaPGKc5KE7gz/WOuSOzt1hXJodKqiixu87USs0PDwW8aw3VpQsyZIkMfAumoJ2hDN7MWMV+Fz8V272TmV0gDe8uFELl4wlarcM5Mhx6Q/lpsXsUjaACD5hVj6gLaYdkgl+uWk8evnYrLhpp+TM497lBvyPbgpmsy6Geg4Mw4OUHaH+emkyrHv4Un0TK9Jg/A2iKXVrozWKMcBqqO4AwJZyoMj5Ay+Dzei3tQYh34HLFdddRKClYfpIU3BLOriAve7nVutny1kyuvJPr3kGJrNL3zDnK39crZ67k5Q0BAzwsxH55JIFrEBJ+r+VVP+tNPCCh81KhG7w+f8CNphy4MeQnmPD7SCMKLStF+I/vggL/ONZI8Tojb9KuIq6+TgjX8jyhcge7K0184XdGygBaYhZF6IZGLlxNYHC2YD+AQkC/f7jUWLFj9VaXH1VK014nQ3CZmtEJzYFb2rm6GL4CqrAshWenxeEQLLVmz5cp2NHfYKciObZMF71ScVUKCoDI4n2xbpvwDzz/9rL/Hf5zYD5q7kgdN67umWmRAp/iFvFOyc1XuMRid6hDAmXTgziYV2u0c141OOwaEw1/lRD9cV7vdEQg4SOpvVzug8ANf3DFGSNuyVQUqrF431SQo6Scg8lodXMhRNXu66hxWG5BKERroclriFHpsxq/uO0H34JsI7wHHDhvB40wsWB/BXPGjjvZZRshDJDteQwUqcnqeuM68b2XyVrTrR/S+1pEhdFTVIf+DFUHQYPBaEqN344gbPQ+brB+p6dARGzsGGJ+1Bbdi71Vg=
Dear Sebastien,
your last paragraph sounds like you had code for triangulating planar 3D
polygons. If you have a constrained Delaunay triangulation for planar
polygons in 3D avoiding the projection into the plane I think this would be
very useful addition to CGAL. And I would be interested in the code in any
case.
Best,
Marc
> On 26. Feb 2020, at 13:31, Sebastien Loriot (GeometryFactory)
> <>
> wrote:
>
> In such a case the best way to proceed is to identify the set of faces
> that defines an almost coplanar patch of faces and retriangulate it
> directly.
>
> You can achieve this by first find a plane for the fitting of the
> patch boundary [1], then project the patch boundary points in 2D [2]
> while keeping the relationship with the input vertices [3]. Then You can
> triangulate that polygon [4], remove the patch faces [5] from the mesh
> and refit the new one extracted from the 2D triangulation [6].
>
> For the projection step you should use a kernel with exact
> constructions such as CGAL::Exact_predicates_inexact_constructions_kernel.
> More precisely,
> the Plane_3 should be from that Kernel and input points provided to
> the to_2d() member function can be converted on the fly using
> Cartesian_converter [7].
>
> I have a more complicated version of that code that does not use any
> explicit projection but it is not yet ready to be publicly distributed.
> If you contact me in private and can share your affiliation and some
> details of your usage scenario, we'll see how we can get you a copy.
>
> Best regards,
>
> Sebastien.
>
> [1]
> https://doc.cgal.org/latest/Principal_component_analysis/index.html#Chapter_Principal_Component_Analysis
> [2]
> https://doc.cgal.org/latest/Kernel_23/classCGAL_1_1Plane__3.html#a24c55e9e8c0250c70f377cba0d66f330
> [3]
> https://doc.cgal.org/latest/Triangulation_2/Triangulation_2_2info_insert_with_pair_iterator_2_8cpp-example.html
> [4]
> https://doc.cgal.org/latest/Triangulation_2/Triangulation_2_2polygon_triangulation_8cpp-example.html
> [5]
> https://doc.cgal.org/latest/BGL/group__PkgBGLEulerOperations.html#gacfae7ff8e782da55b941e4487e86c738
> [6]
> https://doc.cgal.org/latest/BGL/group__PkgBGLEulerOperations.html#gaa386d0cdef3b5d6ef43d6b503392dbcd
> [7]
> https://doc.cgal.org/latest/Kernel_23/classCGAL_1_1Cartesian__converter.html
>
> On 2/24/20 8:03 PM, one_eyed_cat wrote:
>> Hello everyone,
>> I would like to reduce a model's complexity as much as possible by merging
>> adjacent, (nearly for an ε) coplanar faces. The model's surfaces can be
>> closed or contain holes. Currently. I am using a Polyhedron with plane
>> equations (like here
>> https://doc.cgal.org/latest/Polyhedron/Polyhedron_2polyhedron_prog_planes_8cpp-example.html
>> <https://doc.cgal.org/latest/Polyhedron/Polyhedron_2polyhedron_prog_planes_8cpp-example.html>
>> ), iteratively iterating the halfedges and calling `join_facet`when needed
>> until there's nothing left to merge. However, I encounter problems like
>> antennas for more than one overlapping edge for adjacent facets or
>> overlapping edges in the same facet, ending up trying to merge with itself
>> in the merging process which makes me doubt my approach (examples appened).
>> I get the feeling I would have to consider a lot of factors and edge cases
>> if I am staying with `join_facet`. So I wonder if Polyhedron is really the
>> right class to use regarding the joining of any faces and not having
>> exactly
>> coplanar surfaces.
>> If you could help a newcomer out with your experience, that would make my
>> day :)
>> Best regards
>> <http://cgal-discuss.949826.n4.nabble.com/file/t376194/resulting_antenna.jpg>
>> <http://cgal-discuss.949826.n4.nabble.com/file/t376194/overlapping.png>
>> --
>> Sent from: http://cgal-discuss.949826.n4.nabble.com/
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://sympa.inria.fr/sympa/info/cgal-discuss
>
>
- [cgal-discuss] Joining Faces for any Mesh - What's the Most Fitting Data Structure?, one_eyed_cat, 02/24/2020
- Re: [cgal-discuss] Joining Faces for any Mesh - What's the Most Fitting Data Structure?, Sebastien Loriot (GeometryFactory), 02/26/2020
- Re: [cgal-discuss] Joining Faces for any Mesh - What's the Most Fitting Data Structure?, Marc Alexa, 02/28/2020
- Re: [cgal-discuss] Joining Faces for any Mesh - What's the Most Fitting Data Structure?, Sebastien Loriot (GeometryFactory), 02/28/2020
- Re: [cgal-discuss] Joining Faces for any Mesh - What's the Most Fitting Data Structure?, Marc Alexa, 02/28/2020
- Re: [cgal-discuss] Joining Faces for any Mesh - What's the Most Fitting Data Structure?, Sebastien Loriot (GeometryFactory), 02/26/2020
Archive powered by MHonArc 2.6.18.