Comment savoir si un point sort d'un cadre

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous,

Dans le cadre de mon projet (cf. ma description), je créé un graphique à partir des données entrés par l'utilisateur. Voici un exemple du graphique en question :
Image utilisateur

Je possède donc comme information les abscisses et ordonnées des 5 points $P$. L'utilisateur va ensuite se faire promener un nouveau point dans ce cadre en bleu. Et si le point sort du cadre, alors celui-ci (le cadre) devient rouge. J'ai déjà fait (et ce n'était pas bien dur) une grosse partie. Il ne me manque qu'une seule condition. Voilà donc ma question :
À partir des données que je possède, comment savoir si le point est au-dessus de la droite reliant $P2$ à $P3$ ?

Merci de votre réponse. :)

Édité par Wizix

Mon projet : OpenPlane, un utilitaire en Java pour les pilotes, les vrais !

+0 -0
Staff

Cette réponse a aidé l'auteur du sujet

À partir des points P2 et P3 tu peux donner l'équation de la droite reliant ces deux points. Disons $y = ax+b$ ou $x = b$. Si $x=b$ il te suffit de comparer $b$ à l'abscisse du point de l'utilisateur.

Sinon, tu compares $b$ à l'ordonnée à l'origine de la droite passant par $0$ et le point de l'utilisateur.

Je vois pas beaucoup mieux, peut-être que d'autres auront de meilleures idées.

Ce n’est pas en répétant « Hom, Hom », qu’on démontre des théorèmes sérieux - Siegel Mon Twitter

+1 -0
Auteur du sujet

Merci pour ta réponse.
Je n'ai pas compris la partie "ou $x=b$ Si $x=b$ il te suffit de comparer b à l'abscisse du point de l'utilisateur.". Pourquoi x = b !?

Édité par Wizix

Mon projet : OpenPlane, un utilitaire en Java pour les pilotes, les vrais !

+0 -0
Banni

Cette réponse a aidé l'auteur du sujet

Voici comment je ferais. Effectivement, il faut considérer l'équation de la droite $(P_2P_3)$.

Inéquation

Si l'équation de la droite est $y=0.5x+3$ (en rouge dans le graphique), les points satisfaisant à l'inéquation $y > 0.5x+3$ (en bleu dans le graphique) seront au-dessus de la droite.

Intérêts : OS X, AppleScript, Swift, LaTeX

+1 -0
Auteur du sujet

En t'inspirant du separating axis theorem appliqué aux polygones convexes, tu peux faire ça, mais c'est peut être un peu bourrin.

unidan

Oulah, ça dépasse amplement mes connaissances ! ^^

Merci à Holosmos et quark67, ça fonctionne du tonnerre ! J'ai maintenant de beaux graphiques dynamiques.

Mon projet : OpenPlane, un utilitaire en Java pour les pilotes, les vrais !

+1 -0

Ça revient au même dans les calculs que Holosmos, mais on peut aussi regarder que $(x-x_A)(y-y_B) - (x-x_B)(y-y_A)$ est bien négatif, avec $(x,y)$ la position du point de l'utilisateur et $A$ et $B$ les deux points « encadrant » $(x,y)$ au niveau des abscisse.

Édité par Idéophage

+0 -0
Staff

Merci pour ta réponse.
Je n'ai pas compris la partie "ou $x=b$ Si $x=b$ il te suffit de comparer b à l'abscisse du point de l'utilisateur.". Pourquoi x = b !?

Wizix

Parce que je sais pas si P2 et P3 peuvent être sur la même abscisse. A priori oui donc j'ai pris les précautions nécessaires.

Ce n’est pas en répétant « Hom, Hom », qu’on démontre des théorèmes sérieux - Siegel Mon Twitter

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte