J'essaie de concevoir une méthode pour générer des polygones convexes 2D aléatoires. Il doit avoir les propriétés suivantes:Comment générer un polygone convexe aléatoire?
- les coordonnées doivent être des entiers;
- le polygone doit être à l'intérieur d'un carré avec des coins (0, 0) et (C, C), où C est donné;
- le polygone doit avoir un nombre de sommets situés près d'un nombre donné N.
Par exemple, générer des polygones aléatoires qui ont 10 sommets et se situent à l'intérieur de crochets [0..100] x [0..100] .
Ce qui rend cette tâche difficile, c'est le fait que les coordonnées doivent être des entiers.
L'approche que j'ai essayée était de générer un ensemble aléatoire de points dans le carré donné et de calculer la coque convexe de ces points. Mais la coque convexe résultante est de très petits sommets par rapport à N.
Des idées?
Voici un lien pour plus d'informations sur les tests de convexité: http://www.gamedev.net/topic/561441-polygon-convexity-test-cant-get-it-right/ – scgrn
Cela fonctionne pour les coordonnées à virgule flottante. Comment vous assurez-vous que lorsque vous renvoyez des entiers, le polygone ne devient pas concave? Vous pouvez supprimer les sommets problématiques, mais cela pourrait réduire considérablement le nombre de sommets. – Jasiu