Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Inset and offset of General_polygon_set_2 with circle arcs

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Inset and offset of General_polygon_set_2 with circle arcs


Chronological Thread 
  • From: Efi Fogel <>
  • To:
  • Subject: Re: [cgal-discuss] Inset and offset of General_polygon_set_2 with circle arcs
  • Date: Thu, 31 Mar 2016 09:08:34 +0300
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:Ra87QxRssC1rwOery8ZociiqF9psv+yvbD5Q0YIujvd0So/mwa64bByN2/xhgRfzUJnB7Loc0qyN4/CmAz1LscvJmUtBWaIPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3BPAZ4bt74BpTVx5zukbviq9uJMk4Y2XKUWvBbElaflU3prM4YgI9veO4a6yDihT92QdlQ3n5iPlmJnhzxtY+a9Z9n9DlM6bp6r5YTGfayQqIjULYNDCg6K3tno4rwpBzbRE2O4GEdWyMYiF1TEg3d5Vb7WJn29SD1v+441CiBNtDtVuMIXmGp4K5vDRPpkywaLCUR8WfNi8U2grgIjgimoklSzY+cToaaOf42Kq7TfN0dSmdFdslUXi1FRIi7at1cXKI6Ie9Eotyl9BM1phykCFz0CQ==

You cannot do it.
The offset (or inset) of a (linear) polygon is a generalized polygon that comprises linear segments and circular arcs, but the circular arcs do not intersect each other. (There is at least one segment between any two arcs).
What you describe may end up with a generalized polygon that have consecutive arcs. Representing the vertices requires a higher order algebraic number. Moreover, I'm sure that there are additional degenerate cases that must be taken in account.

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



On Wed, Mar 30, 2016 at 4:16 PM, Samuel Hornus <> wrote:

Hi,

From the documentation, the Minkoswki package can compute exact or approximate
offset and inset of polygons, resulting in a General_polygon_set_2 made of line
segments and circle arcs.

And General_polygon_set_2 can be manipulated via boolean operations.

There seem to be a missing element : the ability to inset or offset a General_polygon_set_2 which already comprises some circle arcs (instead of being made of 100% pure line segments).

It seems to me (naively) that this should be possible since the offset or inset of a piece of boundary which is a circular arc is itself a circular arc, so that the offset or inset of a General_polygon_set_2<Gps_circle_segment_traits_2>
should be, as well, a General_polygon_set_2<Gps_circle_segment_traits_2>

To sum up, can I do this with CGAL?

typedef  General_polygon_set_2<Gps_circle_segment_traits_2> CoolShape;
CoolShape A, B, C;
C = approximate_inset(B, 300, 1.0).intersection( C );

(I believe that it’s not possible since, currently, B is expected to be purely linear.)

Thank you in advance,

Samuel

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