Subject: CGAL users discussion list
List archive
- From: Olivier Devillers <>
- To:
- Subject: Re: [cgal-discuss] 3D Delaunay triangulation: nearest simplex on convex hull
- Date: Wed, 28 Oct 2015 12:05:26 +0100
Le 28/10/15 11:54, Simon Giraudot a écrit :
Hello,My suggestion:
I am trying to access the nearest simplex (vertex, edge or facet) of a query point lying *outside* of the convex hull of the 3D Delaunay triangulation (this nearest simplex is thus adjacent to at least one infinite cell).
It seems difficult for several reasons:
* The infinite cells of a DT do not have a geometric meaning: locate() applied to an outside point returns "one" infinite cell, but it does not means that the point projects on the finite facet of this cell;
* The nearest_vertex() can give a hint but the nearest vertex of an outside point is not necesseraly on the convex hull.
Is there a simple/efficient way to do that?
locate(p) return an infinite cell t;
while true
{
let t=abci (where i is infinite vertex)
v = oriented_normal(abc)
if orient(a,b,p,b+v)=cw { t=t->neighbor(through abi); continue;}
if orient(b,c,p,b+v)=cw { t=t->neighbor(through bci); continue;}
if orient(c,a,p,a+v)=cw { t=t->neighbor(through aci); continue;}
// the nearest facet on convex hull is abc
break;
}
----------
in other words, walk on the convex hull facets until p project on the facet
(to be adapted to degenerate cases, of course)
- [cgal-discuss] 3D Delaunay triangulation: nearest simplex on convex hull, Simon Giraudot, 10/28/2015
- Re: [cgal-discuss] 3D Delaunay triangulation: nearest simplex on convex hull, Olivier Devillers, 10/28/2015
- Re: [cgal-discuss] 3D Delaunay triangulation: nearest simplex on convex hull, Simon Giraudot, 10/29/2015
- Re: [cgal-discuss] 3D Delaunay triangulation: nearest simplex on convex hull, Olivier Devillers, 10/28/2015
Archive powered by MHonArc 2.6.18.