Algorithme : un triangle plein [VB, C, ...]
Fermé
commentcamarcheeay
Messages postés
667
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
30 mars 2020
-
9 août 2010 à 15:17
commentcamarcheeay Messages postés 667 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 30 mars 2020 - 10 août 2010 à 10:21
commentcamarcheeay Messages postés 667 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 30 mars 2020 - 10 août 2010 à 10:21
A voir également:
- Algorithme : un triangle plein [VB, C, ...]
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Code ascii algorithme - Guide
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Tri d'une matrice algorithme - Forum C
1 réponse
Hello,
Voici un algorithme qui fonctionne pour dessiner n'importe quel polygone PLEIN.
minX est le X minimal de tous les sommets du polygone, maxX est le maximal, et pareil avec minY et maxY.
Donc en fait tu obtiens les coordonnées du carré qui contient ce polygone.
Ensuite, il faut tester chaque point de ce carré un par un, pour savoir si il est à l'intérieur du polygone.
Pour celà, il faut considérer la droite horizontale D allant du point en question jusqu'a l'extrémité droite du carré ;
Ensuite compter combien de côtés du polygone cette droite coupe.
Si elle en coupe un nombre impair, alors le point est à l'intérieur -> on le colorie.
Si elle en coupe un nombre pair, le point est à l'extérieur, on ne colorie pas.
Il y a peut être plus facile si c'est juste un triangle...
En espèrant avoir été clair...
Cordialement, M.
Voici un algorithme qui fonctionne pour dessiner n'importe quel polygone PLEIN.
minX est le X minimal de tous les sommets du polygone, maxX est le maximal, et pareil avec minY et maxY.
Donc en fait tu obtiens les coordonnées du carré qui contient ce polygone.
Ensuite, il faut tester chaque point de ce carré un par un, pour savoir si il est à l'intérieur du polygone.
Pour celà, il faut considérer la droite horizontale D allant du point en question jusqu'a l'extrémité droite du carré ;
Ensuite compter combien de côtés du polygone cette droite coupe.
Si elle en coupe un nombre impair, alors le point est à l'intérieur -> on le colorie.
Si elle en coupe un nombre pair, le point est à l'extérieur, on ne colorie pas.
Il y a peut être plus facile si c'est juste un triangle...
En espèrant avoir été clair...
Cordialement, M.
10 août 2010 à 10:15
Il restera à gérer le cas particulier où la droite venant du point en question coupe une intersection de deux droites passant par trois sommets successifs ou qu'elle coupe une droite en un segment. Mais c'est une piste à voir.
Merci beaucoup!
10 août 2010 à 10:21
Je me demande par contre si cet algorithme est le plus rapide. Travailler en pixels risque de retarder un peu l'affichage. Je l'ai expérimenté sous l'algorithme qui colorie l'intérieur d'une forme limitée par des couleurs qui l'entourent (comme le seau de peinture dans paint). Avec un algorithme qui fonctionne en pixels, cela se fait en défilement lent.
Je ne peux pas affirmer maintenant, il faut expérimenter.