Page 1 of 1

Algorithme de remplissage d'une forme (polygone, cercle...)

Unread postPosted: 25 Apr 2020, 11:00
by Bobb
Salut tout le monde,
Je suis en train de faire un programme, mais je dois programmer un algorithme de remplissage de formes (polygones, cercles, etc), et j'ai du mal à le faire. Pourriez m'aider ? (Voici le programme dans lequel je veux inclure cet algorithme : https://tiplanet.org/forum/archives_voir.php?id=2620294)J'avais pensé à partir du bas, et à monter seulement quand tout le bas est rempli, comme avec de l'eau. En fait, les pixels se comportent comme l'eau : ils descendent s'ils le peuvent, sinon, font des allers retours à l'horizontale en montant quand le bas est rempli. Or, quand je veux remplir un cercle, le remplissage s'arrête à la moitié, et de temps en temps, les pixels sortent de la forme alors qu'ils ne devraient pas, car quand je teste le pixel à un pixel de distance, le programme s'arrête, et quand je le teste à deux pixels de distance pour savoir si le bord est touché, les pixels le traversent. Est ce que c'est la bonne technique ?

Re: Algorithme de remplissage d'une forme (polygone, cercle.

Unread postPosted: 25 Apr 2020, 11:45
by Lionel Debroux
Ce genre d'algorithmes est habituellement connu sous le nom de FloodFill. Le FloodFill 4 tend à rater de grandes zones s'il y a certaines configurations de pixels parasites, mais le FloodFill 8 passe facilement à travers une limite par les diagonales.