Simplifié (ou lisse) des polygones qui contiennent l'original détaillée polygone

J'ai détaillé polygone 2D (représentant une zone géographique), qui est définie par un ensemble très grand nombre de sommets. Je suis à la recherche d'un algorithme qui permettra de simplifier et lisse le polygone (en réduisant le nombre de sommets) avec la contrainte que le zone du polygone résultant doit contenir tous les sommets de l'détaillée polygone.

Pour le contexte, voici un exemple de l'arête d'un polygone complexe:

Simplifié (ou lisse) des polygones qui contiennent l'original détaillée polygone

Ma recherche:

  • J'ai trouvé l'Ramer–Douglas–Peucker algorithme qui permettra de réduire le nombre de sommets -, mais le polygone ne contiennent pas tous les originaux des sommets du polygone. Voir cet article Ramer-Douglas-Peucker sur Wikipédia

  • J'ai envisagé d'élargir le polygone (je crois que ceci est également connu comme vers l'extérieur du polygone de compensation). Je trouve ces questions: L'expansion d'un polygone (convexe seulement) et Gonfler un polygone. Mais je ne pense pas que cela permettra de réduire considérablement le détail de mon polygone.

Merci pour tous les conseils que vous pouvez me donner!

  • Je suis confus par cette phrase - "je suis à la recherche d'un algorithme qui permettra de simplifier et lisse le polygone (en réduisant le nombre de sommets) avec la contrainte que le polygone résultant doit contenir tous les sommets de l'détaillée polygone.". Comment réduire le nombre de sommets, tout en conservant tous?
  • Je veux dire le polygone résultant doit avoir moins de sommets, mais la zone il définit doit contenir tous les sommets qui étaient dans le polygone. Merci.
  • La performance est un problème ici?
  • La Performance est un problème; je vais le tracé de ces polygones, sur une carte, le long de avec d'autres données. Moins de sommets permettra de rendre la carte plus réactif. L'autre problème, c'est l'esthétique, où un plus un polygone (ou de la ville de périmètre dans ce cas) sera plus propre.
  • Si le final de vertex set faire partie de l'ensemble original, ou pouvez-vous faux un ensemble de "nouveaux" et les différents sommets?
  • Si le nouveau polygone avait totalement différents sommets sur le polygone, qui serait d'accord, à condition que les bords du nouveau polygone ne sont pas trop loin de l'origine des bords. par exemple, je ne veux pas de l'enveloppe convexe, ou d'un grand cercle contenant l'original du polygone.
  • Ha! cette "liberté" qui rend le problème beaucoup plus difficile! 😀
  • tout à fait d'accord. Cela m'a déconcerté.
  • Quelle plate-forme/logiciel de préféreriez-vous travailler?
  • Ha, open source javascript ou python, ce serait parfait! ;o) Mais en réalité, j'ai juste besoin de comprendre l'algorithme de sorte que nous pouvons coder.
  • Si vous avez besoin de le faire une fois, puis illustrator est une bonne option.

InformationsquelleAutor mbrenig | 2011-02-18