2015-11-23 1 views
0

Disons que je veux utiliser la triangulation Delaunay de CGAL. J'ai inséré quelques points et je veux maintenant récupérer le plus proche voisin d'un point p.Documentation de CGAL pour les triangulations de Delaunay

Je sais maintenant que la façon de le faire serait de définir un point n

n = triangulation.nearest_vertex(p)->point(); 

Cependant, regardant CGAL's documentation of nearest_vertex, ce n'est pas immédiatement clair pour moi que nearest_vertex est également documenté pour prendre un Face_handle - que je n'ai pas besoin de fournir en raison de sa valeur par défaut, mais sur laquelle aucune information utile n'est fournie. Bien sûr, il "peut être utilisé pour initialiser l'emplacement", mais qu'est-ce que cela signifie réellement et quelles sont les options? Et le plus important, où dans la documentation puis-je trouver cette information?

Répondre

1

De here: La localisation est implémentée par une ligne de marche. La marche commence à un sommet de la face qui est donné comme argument optionnel ou à un sommet arbitraire de la triangulation si aucun argument optionnel n'est donné.

Ceci est particulièrement utile si vous avez un tas de points que vous souhaitez localiser dans la triangulation. Vous pouvez trier le point le long d'un Hilbert curve et localiser chaque point en utilisant un visage contenant le sommet le plus proche du point précédent pour initialiser la marche.