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

  FORUM HardWare.fr
  Programmation
  C

  detection symetrie axiale dans un polygone

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

detection symetrie axiale dans un polygone

n°1716193
alexis0788
Posté le 11-04-2008 à 12:38:54  profilanswer
 

Bonjour à tous, je suis actuellement en fin de projet informatique en C sur les polygones.
Je touche au but mais la dernière question est, je trouve, vraiment difficile...
Voila, je cherche à détecter dans un polygone non croisé et convexe la présence éventuelle d'un axe de symétrie.
S'il en existe plusieurs, je dois donner au minimum l'équation d'un axe.
Je travaille avec deux structure:

Code :
  1. typedef struct POINT {char *nom;
  2.                                float abscisse;
  3.                                float ordonnee;
  4.                                struct POINT *succ;} point;
  5. typedef struct DROITE {float a;float b;float c;} droite;


 
Voici les fonctions que j'ai déjà réalisé:

Code :
  1. //creer un point
  2. point *newp();
  3. //affiche les points
  4. void affichep(point *p);
  5. //creer une chaine de points
  6. point *chainep();
  7. //calcul du perimetre
  8. void perimetre(point *p);
  9. //calcul de l'aire à partir de la formule d'Héron
  10. void aire(point *p);
  11. //determine si les deux côtés s'intersectent et renvoie 1 si c'est le cas sinon renvoie 0;
  12. //côtéun=points un et deux; côtédeux=points trois et quatre
  13. int intersection(point *un,point *deux,point *trois,point *quatre);
  14. //si le polygone est croisé alors renvoie 1 sinon renvoie 0;
  15. int croise(point *p);
  16. //calcule l'angle entre p2p1 et p2p3
  17. float angle(point *p1,point *p2,point *p3);
  18. //determine si un angle est saillant (appartient a ]0;90[)
  19. float saillant(point *p1,point *p2,point *p3);
  20. //determine si un polygone est convexe:concave(1) si un seul angle est saillant, convexe(0) si tous les angles sont non saillants
  21. int convexite(point *p);
  22. //calcule le nombre de points du polygone
  23. int comptepoint(point *p);
  24. //resoud un systeme a deux inconnues
  25. point * equasolve(droite d1,droite d2);
  26. //donne le point d'intersection de deux mediatrices
  27. point * media_inter(point *p1,point *p2,point *p3);
  28. //determine si un point appartient a une droite
  29. int p_appartient(point *centre,point *p1,point *p2);
  30. //determine s'il existe le cercle circonscrit
  31. droite cercle_cir(point *p);
  32. //determine l'intersection de deux bissectrices
  33. point * bis_inter(point *un,point *deux,point *trois,point *quatre);
  34. //determine s'il existe le point de symetrie
  35. point * point_sym(point *p);


 
Merci de votre aide...
 
 
 
 
 
 

mood
Publicité
Posté le 11-04-2008 à 12:38:54  profilanswer
 

n°1716232
rengzehn
Posté le 11-04-2008 à 13:40:07  profilanswer
 

Bonjour,
 
S'il y a un axe de symetrie c'est forcemment la mediatrice de deux point de  ton polygone, tu dois donc tester si toutes les mediatrices faisables par l'ensemble des couples de points de ton polygone vérifient le fait qu'elles pourraient etre axe de symétrie (ou un truc dans le genre), attention tout de meme à prévoir une marge d'erreur due à la précision : quand tu as fixé une médiatrice et que tu recherches si l'image d'un point est dans ton polygone, il peut y avoir un petit écart.
 
Ton code m'intéresse beaucoup :D possible de me l'envoyer ? (si oui je te donne mon mail en mp)
 
J'ai aussi fait quelques travaux sur les polygones si ça t'interesse : http://peyo.lost-oasis.net/geomatique.php
 
Bon courage pour ton projet  [:augie]


Message édité par rengzehn le 11-04-2008 à 13:41:10

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

  detection symetrie axiale dans un polygone

 

Sujets relatifs
les cycles dans les graphes orientés : detection, decyclage, shampoingDetection clavier en console
Détection capacité AJAX sous IEDetection d'OS à l'exécution
Detection status imprimanteDétection d'une seule touche clavier (ou combinaison de 2 touches)
Detection de la quantité de mémoire viveDétection de modifications sur une page web
Détection de caractère ? 
Plus de sujets relatifs à : detection symetrie axiale dans un polygone


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