2009-03-07 8 views
3

Est-ce que quelqu'un sait s'il existe un algorithme pour cela? J'ai plusieurs points 2D. J'ai besoin de trouver une liste de points qui, lorsque vous tracez une ligne du point n au point n + 1, se termine par une zone contenant tous les points. Si je pouvais joindre une image, je pourrais mieux m'expliquer. Merci d'avance.Zone contenant des points?

+0

pour joindre une image, la mettre en place sur imageshack et utiliser la balise img –

Répondre

7

Ce que vous cherchez est probablement la coque convexe . Wikipedia a un picture. Il y a plusieurs algorithms pour calculer la coque convexe. Le Graham scan fournit probablement le meilleur équilibre entre les performances et la facilité de mise en œuvre.

+0

Le scan de Graham ressemble à ce que je cherchais, merci beaucoup! :RÉ – Pablote

3

Ce que vous demandez ressemble à ce qu'on appelle la coque convexe. Google cela pour beaucoup d'informations.

Si les points ne doivent pas être membres de l'ensemble, il suffit de trouver le cadre de délimitation. Si la collection ne doit pas être convexe, trouvez simplement le centre de masse du nuage, ordonnez les points (disons dans le sens des aiguilles d'une montre) autour de cela, et vous aurez une étoile irrégulière.

0

Si vous codez en C/C++ (ou si vous les comprenez), il s'agit d'une excellente source de geometry algorithms - source et explication.

Questions connexes