Inscription / Connexion Nouveau Sujet
Niveau IUT/DUT
Partager :

Fonction affine | Horizontale et Verticale

Posté par
Schnapse
29-02-12 à 13:18

Bonjour à toutes et à tous,

Je dois coder un programme traitant sur les polygones et l'une des fonctions est de retourner le point d'intersection de deux segments, si intersection il y a, ce qui va aussi m'être utile pour savoir si un point quelconque est à l'intérieur du polygone ou non.

A savoir que l'on définit un segment via deux points, les deux extrémités avec s1(x1,y1) et s2(x2,y2).

Cependant, pour retrouver le point d'intersection de deux segments je procède à la méthode suivant :
- Calcul de l'équation de la droite portant chacun des segments (y1 et y2)
- Calcul de y1 = y2 pour retrouver la valeur de x où les courbes se croisent
- Vérification de la présence de x sur les deux segments

Cependant j'ai un petit problème par rapport au droite parallèle à l'axe des X ou Y.

On est d'accord que si un segment est parallèle à l'axe des X (soit horizontal) :
- Lors du calcul du coefficient directeur, delta Y = 0, et donc dans y = ax+b, a=0
- Par conséquent l'équation de la droite est y = b
- Et donc peu n'importe quelle valeur de x, f(x)=b

Dans le cas où il s'agit d'un segment parallèle à l'axe des Y (soit vertical):
- Lors du  calcul du coefficient directeur, dela X = 0, et donc dans y = ax+b, a=0
- Par conséquent l'équation de la droite n'est plus de la forme y = .. mais x = x1 (ou x2 sachant qu'ils sont égaux)
- Ainsi, comment retrouver f(x) à partir d'une quelconque valeur x ?!

Ceci me serai utile pour retrouver le point d'intersection de deux segments qui serai respectivement parallèle à l'axe des X et Y et par conséquent perpendiculaire.

Merci d'avance pour votre aide.

Posté par
Nanou2b
re : Fonction affine | Horizontale et Verticale 29-02-12 à 13:45

Bonjour,

tu as effectivement mis le doigt sur le cas particulier qui pose problème avec les équations réduites (de la forme y=ax+b)
En fait, pour être sur deux droites en même temps, il faut vérifier les deux equations. Si ces équations sont y=ax+b et y=cx+d, alors nécessairement, ax+b=cx+d, tu trouves x, et tu remplaces dans une des équations pour trouver y.
Dans le cas où tes équations sont y=ax+b et x=c, pas besoin de chercher x (tu l'as déjà, c'est forcément c !). Tu n'as plus qu'à remplacer dans la première équation pour trouver le y correspondant.
Enfin, dans le cas où les équations sont x=a et x=b (avec a b), il n'y a pas de solutions (x ne peut pas valoir à la fois a et b). Mais c'est normal, puisque les droites sont parallèles, et donc n'ont pas d'intersection...

Bon courage pour ton programme

Posté par
Schnapse
re : Fonction affine | Horizontale et Verticale 29-02-12 à 21:01

Merci pour ta réponse, elle m'a un peu débloqué et j'ai réussi à créer ma fonction, pas comme je l'aurai souhaité mais ça marche correctement.
J'ai du étudié tout les cas où, une droite est oblique et l'autre horizontale, une droite est oblique et l'autre verticale, une droite est vertical et l'autre oblique ou encore si les deux sont obliques ..

J'ai donc pu finir ma fonction qui test si un point appartient à un polygone ou non.

Maintenant je souhaite tester la convexité d'un sommet. Après quelque recherche sur différent forum je suis  tombé sur le post suivant :

Citation :
Bonjour,
Je résume ta situation : prenons par exemple un polygone ABCD.
Soit M le point d'intersection de (AC) et de (BD).
Le test est : si BM<BD, alors l'angle est concave et si BM>BD, l'angle est convexe (j'espère que je me suis pas trompé)

* image externe expirée *

Ta méthode serait donc :
- les équations de (AC) et (BD)
- calculer les coordonnées de M
- calculer les longueurs BM et BD
- comparer ces longueurs
Est-ce que c'est ça


Cependant, lorsqu'un polygone possède n sommets, comment savoir lesquels relier (comme les segments rose et vert sur le schéma) afin de résoudre le problème avec la méthode ci-dessus ?!

Merci d'avance.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1736 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !