Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Intersection of curve with 2D polygon

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Intersection of curve with 2D polygon


Chronological Thread 
  • From: Efi Fogel <>
  • To:
  • Subject: Re: [cgal-discuss] Intersection of curve with 2D polygon
  • Date: Sun, 10 Dec 2017 13:23:04 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:cZ4RBhdltE9yxCHVaW5ufjznlGMj4u6mDksu8pMizoh2WeGdxc66bB7h7PlgxGXEQZ/co6odzbGJ4+a9ASQp2tWojjMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpW1aJxPkKAAgJvjpApWAyIOsxuWq8tvSZR9JjXyze/RpPRCupELQsMcRxoBtI6J0xhrSqWZTYLdqwjZjKluX2hr9/cyt54VL8iJKuvtn+dQTf7/9evEVQ70QIjMpPmR9sMDltBfEQgaLznQZW2QS1BFPBl6Wv1nBQp7tv36i5aJG0y6AMJiuQA==

For the 2D case you can use the "2D Arrangements on Surface" package, and in particular the Arrangement_2 template to compute the regions of the polygon divided by the curve. BW, in the general case, there might be 1, 2, or more regions. Then, you can use the "2D Polygon Partitioning" package to triangulate the regions. Alternatively, you can use the "2D Triangulation" package to triangulate each region and provide the boundary of the region as constraints.

The 3D is more complicated. You can use the "Polygon Mesh Processing" package and in particular the new "Corefinement and Boolean Operations" functionality to compute the volumes and then use one of the 3D triangulation options in CGAL, but notice that not every polyhedron can be triangulated (without the introduction of new vertices). However, if you know something about the polyhedron and the constraint polyhedron surface (e.g., the polyhedron is a hexahedron), you might be able to do something more efficient.


   ____  _        ____             _
  /_____/_) o    /__________  __  //
 (____ (   (    (    (_/ (_/-(-'_(/
                         _/



On 9 December 2017 at 23:03, Manav Bhatia <> wrote:
Hi,

   I have an application where a curve in 2D-space and a 2D polygon are given and the objective is:
— to find the intersection of these two entities
— if they intersect, the polygon needs to be divided into a set of sub-polygons (or triangles) the union of which defines the portion of the original polygon on either side of the curve.

   What would be the best approach to accomplish this with CGAL?

   As an extension, what would be the best approach to accomplish this for intersection of a surface in 3D with a hexahedron?

   I would greatly appreciate your help.

Regards,
Manav



--
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