J'ai une forme arbitraire, dessinée par l'utilisateur sur une toile, et je voudrais calculer le polygone le mieux ajusté à partir de cette forme étant donné le nombre des côtés ou des bords que le polygone de sortie devrait avoir. Plus précisément, je voudrais une fonction avec la signature suivante:Calcul du meilleur polygone à partir de la forme donnée nombre de côtés cibles (ou arêtes)
polygon computePolygon(Shape shape, int numberOfSides)
{
...
return polygon; // return polygon with numberOfSides sides
}
Par exemple, disons que je veux obtenir un quadrilatérale de la forme dessinée par l'utilisateur (par exemple un GeneralPath), alors je saisirez computePolygon (GeneralPath , 4).
Comment procéder?
Merci pour cela. Je vois que ce problème est appelé "problème min-ε" ou "problème de distorsion minimale" dans l'approximation polygonale. Les algorithmes proposés dans la littérature scientifique semblent cependant assez complexes. Je cherche quelque chose de facile à mettre en place, si possible. Cela ne doit pas nécessairement être optimal. – Tamori