Comment savoir si un point sort d'un cadre

Le problème exposé dans ce sujet a été résolu.

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. :)

+0 -0

À 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.

Banni

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.

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.

Banni

Ç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.

+0 -0

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.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

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