Je suis nouveau à la bibliothèque de géométrie générique qui est proposé pour inclusion avec boost:Initialiser un polygone en boost :: géométrie
http://geometrylibrary.geodan.nl/
J'ai deux vecteurs vector<int> Xb, Yb
que je suis en train de créer un polygone. Je suis en train de faire quelque chose le long des lignes de l'extrait de code suivant:
polygon_2d P;
vector<double>::const_iterator xi;
vector<double>::const_iterator yi;
for (xi=Xb.begin(), yi=Yb.begin(); xi!=Xb.end(); ++xi, ++yi)
P.push_back (make<point_2d>(*xi, *yi));
Le code ci-dessus ne fonctionne pas, se plaignant que P
n'a pas une fonction membre push_back
. Comment initialiser le polygone à partir de points ayant les coordonnées vector<int> Xb,vector<int> Yb
?
Une note rapide, le capot probable que la bibliothèque spécifique que vous mentionnez survivra un processus d'examen est très peu probable. Votre meilleure option aujourd'hui est d'écrire un wrapper C++ léger pour la bibliothèque Generic Polygon Clipper, car aucune des propositions proposées pour les opérations de polygones 2D ne se trouve à proximité de la performance GPC. –
Merci pour la suggestion, Beh. GPC semble être une belle bibliothèque, mais il semble qu'il manque une caractéristique importante pour moi - à savoir la possibilité de calculer la surface d'un polygone. – dzhelil
Dzhelil, heureusement l'algorithme de zone est trivial à implémenter. http://alienryderflex.com/polygon_area/ –