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

  FORUM HardWare.fr
  Programmation
  Algo

  Trouver un point différents d'autres points

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Trouver un point différents d'autres points

n°1810500
nisalon_ca​je
Posté le 10-11-2008 à 17:05:49  profilanswer
 

Bonjour!
 
Je suis en train de réaliser une fonction me permettant de détecter si un point est oui ou non à l'intérieur d'un polygone quelconque (donc pas forcément convexe)
 
J'ai trouvé l'algorithme suivant : on prend notre point que l'on note M et on trace une demi droite partant de M et allant vers l'infini dans une direction donnée. Si cette demi droite ne rencontre aucun sommet du polygone et que le nombre d'intersections avec les segments de notre polygone est pair, alors on est dehors, si ce nombre est impair est dedans, si la demi droite rencontre un sommet du polygone on ne peut rien conclure ...
 
J'ai programmé la fonction permettant de calculer l'intersection entre deux segments (je calcule les alpha, beta, h de chacun des segments (où alpha et beta et h sont les coefficients de l'équation alpha*x+beta*y+h=0)), je résouds un système 2x2 en x et y puis je vérifie si le point obtenu est bien situé entre les sommets de chacun des deux segments (si d'ailleurs pour cet algorithme vous auriez quelque chose de plus léger je suis preneur)
 
Ainsi il me reste à déterminer la demi droite ...
Cependant, je n'ai pas tellement d'idée concernant comment faire pour détecter si cette demi droite rencontre un des sommets du polygone
Bien sur je pourrais faire une boucle, tester chacun des sommets, et si ca ne marche pas prendre une autre demi droite aléatoirement et recommencer, mais ca ne me satisfait pas tellement, car dans le cas ou notre polygone est assez petit et comporte plein de points, on risque alors de retomber sur un autre point et que la boucle dure assez longtemps ...  
 
Donc voila voila j'aimerais savoir si vous aviez une idée d'une part pour déterminer cette droite en complexité O(n) voire O(1) et si vous auriez une idée pour optimiser l'algorithme d'intersection entre deux segments que j'utilise
 
Merci d'avance :)
 
NC


---------------
http://nisalon.labrute.com/
mood
Publicité
Posté le 10-11-2008 à 17:05:49  profilanswer
 


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

  Trouver un point différents d'autres points

 

Sujets relatifs
[PHP] Librairie graphique php - Valeur du point en survolAffichage de point!!!!!!
Saisir les premières lettres dans une liste pour trouver le mot[Javascript] Tester l'existence d'un point avec l'api google map
[MySQL] trouver la derniére modification !echo $row['resolu']; trouver la date d'hier ???
Jpgraph - Afficher un seul point avec $lineplot->value->show();pb calcul de rayon entre deux points sans sqrt
Installer des imprimantes sur différents profils[Oracle] trouver les colonnes différentes
Plus de sujets relatifs à : Trouver un point différents d'autres points


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