Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Inserting a point into a regular triangulation so that it appears and no other vertex disappears

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Inserting a point into a regular triangulation so that it appears and no other vertex disappears


Chronological Thread 
  • From: Mael <>
  • To:
  • Subject: Re: [cgal-discuss] Inserting a point into a regular triangulation so that it appears and no other vertex disappears
  • Date: Mon, 27 Jan 2020 09:12:36 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=None ; spf=None
  • Ironport-phdr: 9a23:uz87+xU0zW9aTMdCKtAT5o/RRJfV8LGtZVwlr6E/grcLSJyIuqrYZRWDvqdThVPEFb/W9+hDw7KP9fy5BSpbuN3Y6S5KMMQVEUNc0oNOx01oKfXGIHWzFOTtYS0+EZYKf35e1Fb/D3JoHt3jbUbZuHy44G1aMBz+MQ1oOra9QdaK3Iy42O+o5pLcfRhDiiajbrNuNhW2qhjautULjYd4Jas91xTErmFGduhLym9kOE+fkhfh7cu04JJv7j5ctv08+8NOS6n2Y7g0QblFBzk6Lm4549HmuwPeRgWV/HscVWsWkhtMAwfb6RzxQ4n8vCjnuOdjwSeWJcL5Q6w6VjSk9KdrVQTniDwbOD4j8WHYkdJ/gaRGqx+8vRN/worUYIaINPpie67WYN0XSXZdUstXSidMBJ63YYkSAOobJetWspfzp1UOoxW9CwejCuzgxT1UiXH5xqA6z+csHBva0AA8Ed8DsnLZp8j1OqcIVuC1ybHFwzLZYPxI3Tf29Y/FchU7rv6SWbJ8a9DRyU4yFwLKkFqQrZbpPzeP2esWqGeU8fFtVe2xhG4grgF+vCSvxt0si4nHnI0a1kzE9SJjwIc1P9G3VEl7Ydu9HZZWqiqUOYx2QsY4TGFpviY30rwGuZihfCgL0psr3RDfa+aBfoOV4RzjTP6cLDh5iX5/Zb6zmxa//VKhx+HiTMW4zVRHoy5dntTIqnwBzQHf5tWER/dn40us1jKC2xrd5+xKOUw4ibDXJ4I7zrIsjJYfrULOFTLolUXyka+WbVkk9fay6+r6Y7Xnp4GTOpdohgz4L68ggNawAf4iPQgLR2Wb+fqz1Lnk/UDhQLhGlPg2kq7YvZ3ZP8gbo7S2Aw5R0oo67Ba/Eium3M4fnXkZLFJJYhSHgJb1O13WIfD4C+mwg0i0nTpkxv3KJKDtDonNI3TZkbrtY6xx51NexQc31dxf4ohbCrAFIPL9QE/xs9nYAwc8MwOu3ennDM9x1pkZWWKSDa6WLqfSvUWM5u01OOaDf5EatS3yK/c74P7uiGE2mUMHfaip05sYcmy3HuhhI0WDYXvgmMsOEWAPvgYmVuzllEWCUSJPZ3a1R68z+j47B5iiDYvaW4+tgaeB0zumHp1NfWBLEUuMEHftd4WcQfgAciOSIsl7kjwFT7etUYEh1Qu2uA//zLpoM/Tb9zUDtZLmyNh1//TflRYv9TxoF8id03+CT2Vznm4QXz822LpwoExjxVeZzKR1g/9VGcZT5/xTSAs6MoDcz+xgB9D0RA3BYs+FSFegQtq4HTE8Vs49z8USb0pnB9mulAzP0zKwA7AJj7yLGIA08qXE0nftKMZy0XLG2LA8gFknWctAKXCmhrVk9wXIBo7JlV+Zl6eweqgG0i7N7jTL8GyVoUsNUBJsSb6XGjcEd07OpJL44FnDRvmgE/M8Iw5ZwImDLKVNLdbmhFEDSPb4M8nFeDGNnDK7Ch+Mg7+Nd4H3YH413SPHCUFCnRpA02yBMF0bDyql6zbbBTFqU0joflPh9a96oXmxQ2c7wgaPYlF7xrS88QISn+3aQPQWiOFX8Bw9oil5SQ7ul+ndDMCN8lI4IfdsJOgl6VIC7lr38gxwOpv6cvI/wFsZLVQxukrv01BwF5kGltYq6nUn0FgqcPPK4BZ6bzqdmKvIFPjSI2j28gqobvSPiF7T19Ob5r0e5v0zt1L5rUeiEU9wqyw7gekQ6GOV49DxNCRXSYj4CB9l+BV9orzGeDgz7ojI0md9d6Kzt22a1g==

Hello,

Although the main code indeed uses Bowyer-Watson, there is some code about flipping in the packages Triangulation_3 and TDS_3. However, these are mostly atomatic operations at the base triangulation level, and there are no complete function doing an insertion in a (weighted) Delaunay triangulation like there are in the package Triangulation_2.

Best,
Mael

On 14/01/2020 10:05, Marc Alexa wrote:
Thanks a lot for the answers.

My understanding from the lifting picture is that the point first “appears” when
it is connected to the vertices of the cell that contains it (assuming it is
inserted inside the convex hull of the points). Then the motion in the lift
downwards corresponds to the sequence of flips one would perform in the
incremental flipping approaches (Edelsbrunner & Shah, Incremental topological
flipping works for regular triangulations). This is nicely explained in the
Triangulations book by De Loera, Rambau and Santos, Section 5.3.2. on Monotone
paths in the secondary polytope.

So in terms of implementation it would probably suffice if the incremental
flipping approach was implemented somewhere in CGAL. But I guess CGAL only
uses Bowyer-Watson? Or is there some code somewhere for incremental flipping?

Thanks!-Marc





On 9. Jan 2020, at 09:34, Mael
<>
wrote:

Hello

Here is a translation of an answer by Jean-Daniel Boissonnat in private
correspondence:

Considering the usual lifting into R^{d+1} (R^4 here), let p1, ..., pn be
points in R^3 and P1, ..., Pn their lifted equivalent, i.e. Pi = (pi, pi^2).
Let x be the new point, X=(x, x^2), and T the face of the convex hull
conv(P1, ..., Pn) whose projection onto R^3 contains x.
The 4th coordinate of the lifted point X (and thus its weight) must be chosen
such that X is below conv(P1, ..., Pn). To ensure that no point disappears,
the new convex hull conv(P1, ..., Pn, X) must have all points as vertices,
in other words X must be above the planes of the faces of convex(P1, ..., Pn)
that are adjacent to T.
This can be expressed with circumscribing balls in R^3.
As to get the triangulations that appear when moving within this range, you
can probably use a similar reasoning as the combinatorics will change when an
adjacent face is no longer on the convex hull.

There also used to be a package called Kinetic Data Structure in CGAL, it
could handle Regular_triangulation_3 but I am not sure if the kinetic change
had to be the position of a point with a fixed weight, or if you could also
change weights.

Best,
Mael

On 07/01/2020 19:18, Marc Alexa wrote:
Dear all,

I want to insert a point p into a regular triangulation. The point has a
fixed coordinate. I am interested in the interval of weights so that the
point itself appears in the triangulation and none of the existing points
disappears. The upper bound (the point appears) is easy: find the cell the
contains p. The cell defines a hyperplane in the lift, and the lift for p
needs to be below the hyperplane. What methods are available in CGAL that
would help me finding the lower bound? Moreover, is there an easy way to walk
through all triangulations in this interval, perhaps parameterized by the
weight?

Thanks!
-Marc



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