Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1219 connectés 

  FORUM HardWare.fr
  Programmation

  Algo de remplissage d'une forme dont les points sont connus

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Algo de remplissage d'une forme dont les points sont connus

n°115341
-VDV-
Et pas DVD ! Lisez mieux !
Posté le 20-03-2002 à 23:51:02  profilanswer
 

On a des points dans un tableau, ils donnent une forme
Genre ca : http://www.v-stuff.net/perso/POCOOL.PNG
 
Maintenant comment on fait pour remplir l'interieur de la figure sans prob...
et me sortez pas on remplit entre 2 points sur une meme ligne vu qu'il y a, ne serait-ce que dans mon exemple, des cas ou ca ne marche pas...

mood
Publicité
Posté le 20-03-2002 à 23:51:02  profilanswer
 

n°115348
Pitounet
Posté le 20-03-2002 à 23:57:44  profilanswer
 

ben le premier soucis est de trouver un point à l'intérieur de ton polygone. Après cela, tu n'as plus qu'à écrire un algo récursif qui, à partir d'un point donné, le colorie et appelle la meme fonction pour ses voisins si ceux-ci ne sont pas encore coloriés.

n°115369
Tentacle
Posté le 21-03-2002 à 00:24:53  profilanswer
 

Pitounet a écrit a écrit :

ben le premier soucis est de trouver un point à l'intérieur de ton polygone. Après cela, tu n'as plus qu'à écrire un algo récursif qui, à partir d'un point donné, le colorie et appelle la meme fonction pour ses voisins si ceux-ci ne sont pas encore coloriés.  




 
Par contre fait gaffe à la récursivité... certains languages ne supportent pas plus d'un certain nombre d'appel récursif... or pour le remplissable d'une figure tu risques d'en avoir un paquet.
Essaie plutôt de faire ça sans récursivité, genre au lieu d'appeler la fonction de remplissable tout de suite pour chaque voisin, mets ces voisins dans des files d'attentes dans lesquels chaque point sera traité quand celui d'avant aura finit d'être remplit.
 
À par ça, il y a peut-être d'autre algorithmes pour ça :)

n°115371
Pitounet
Posté le 21-03-2002 à 00:27:09  profilanswer
 

j parlais de récursivité parce que c'est la version la plus simple de l'algo mais c'est vrai qu'il peut etre plus efficace d'utiliser une file ou un pile.

n°115374
Tentacle
Posté le 21-03-2002 à 00:30:03  profilanswer
 

Pitounet a écrit a écrit :

j parlais de récursivité parce que c'est la version la plus simple de l'algo mais c'est vrai qu'il peut etre plus efficace d'utiliser une file ou un pile.  




 
mais bon c'était destiné à VDV pour lui éviter une surprise désagréable lors de ses tests :D

 

[jfdsdjhfuetppo]--Message édité par Tentacle--[/jfdsdjhfuetppo]

n°115377
Pitounet
Posté le 21-03-2002 à 00:31:55  profilanswer
 

pas de pb, tu as eu raison de préciser le pb de la récursivité...

n°115390
trueslash
(╯°□°)╯︵ MMM
Posté le 21-03-2002 à 01:12:12  profilanswer
 

par rapport à ta courbe fermée, il faut ausi trouver un moyen de modéliser laquelle des deux surfaces séparées par la curbe tu veux remplir

n°115392
LeGreg
Posté le 21-03-2002 à 01:23:53  profilanswer
 

Pitounet a écrit a écrit :

ben le premier soucis est de trouver un point à l'intérieur de ton polygone.  




 
J'ai l'impression qu'il risque d'avoir du mal a generaliser
s'il ne donne pas de point de depart
je suis a peu pres certain qu'on peut trouver
des cas ou ca pete si on ne donne pas de point a l'interieur de la surface a colorer.
(exemple limite du damier..)
 
LEGREG

n°115395
-VDV-
Et pas DVD ! Lisez mieux !
Posté le 21-03-2002 à 01:44:16  profilanswer
 

bah en fait
d'apres les limitations (a savoir, un point ne peut avoir plus de 2 voisins)
on peut sortir la regle suivante :
- on prend le premier point le plus en haut a gauche, celui d'en dessous est forcement vide ET a l'interieur :)
j'ai pas trouve de cas qui contredisaient cette regle avec la limitation imposee
donc c bon
 
niveau recursivite ca va, y'a juste un prob c que ca a tendance a revenir sur son chemin deja fait, donc je fais faire des nouvelles methodes genre "generer un tableau contenant l'interieur" et ce genre de connerie, vu la suite de l'exo c le plus simple et le plus efficace ;)

n°115431
Tentacle
Posté le 21-03-2002 à 09:25:59  profilanswer
 

-VDV- a écrit a écrit :

bah en fait
d'apres les limitations (a savoir, un point ne peut avoir plus de 2 voisins)
on peut sortir la regle suivante :
- on prend le premier point le plus en haut a gauche, celui d'en dessous est forcement vide ET a l'interieur :)
j'ai pas trouve de cas qui contredisaient cette regle avec la limitation imposee
donc c bon
 
niveau recursivite ca va, y'a juste un prob c que ca a tendance a revenir sur son chemin deja fait, donc je fais faire des nouvelles methodes genre "generer un tableau contenant l'interieur" et ce genre de connerie, vu la suite de l'exo c le plus simple et le plus efficace ;)  




 
donc toi tu veux plûtôt suivre le contour c'est ça? mais si il y a des croisements, tu fais comment ?
 
Pour le problème qu'il revient sur son chemin, il te suffit normalement de tester à chaque fois si le voisin que tu t'apprêtes à traiter (ou à mettre dans la file d'attente) est déjà remplis ou pas.

mood
Publicité
Posté le 21-03-2002 à 09:25:59  profilanswer
 

n°115453
LeGreg
Posté le 21-03-2002 à 10:34:19  profilanswer
 

-VDV- a écrit a écrit :

bah en fait
d'apres les limitations (a savoir, un point ne peut avoir plus de 2 voisins)
on peut sortir la regle suivante :
- on prend le premier point le plus en haut a gauche, celui d'en dessous est forcement vide ET a l'interieur :)
j'ai pas trouve de cas qui contredisaient cette regle avec la limitation imposee
donc c bon




 
Oui mais si tu oublies de preciser
les limitations dans l'enonce ;)
 
LEGREG


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Algo de remplissage d'une forme dont les points sont connus

 

Sujets relatifs
[D3D] Quel est l'angle que forme l'espace du frustrum sur l'axe y?C-Convertion chaine - Algo liste chaînée ordonnée -Fonction qui enlève
[C] et [Algo] sur IRC[C++] Calcul automatique de points
[VC++ et DLL] problème avec la desactivation des points d'arret[ algo ] - convertir un reel en fraction.... 0.5 --> 1/2
[DirectX] Remplissage d'un Vertex Buffer[Math] calculer la distance entre 2 points
[algo] "le mot le plus long" et analyse combinatoire[JAVA] Gestionnaire de mise en forme
Plus de sujets relatifs à : Algo de remplissage d'une forme dont les points sont connus


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR