Comment faire pour déterminer si un point est à l'intérieur d'un quadrilatère

Objectif

Je veux déterminer si un point est dans un quadrilatère. Je vais probablement mettre en œuvre la solution dans Matlab, donc j'ai seulement besoin d'un pseudo-code.

Entrées

Coins du quadrilatère : (x1,y1) (x2,y2) (x3,y3) (x4,y4)

Point de Test : (xt, yt)

Sortie

1 - Si, dans le quadrilatère de la

0 - Sinon

Mise à jour

Il a été souligné que l'identification des sommets du quadrilatère n'est pas suffisant pour identifier de manière unique. Vous pouvez supposer que l'ordre des points détermine les côtés du quadrilatère (point 1 relie les 2, les 2 se connecte à 3, 3 se connecte à 4, 4 se connecte à 1)

Les points ne suffisent pas à identifier de manière unique un quadrilatère, à moins qu'il y a une contrainte supplémentaire qu'il est convexe, ou que les points sont définis dans un ordre donné. Est-ce un ou l'autre de ces contraintes existent (si oui, lequel)?
Par exemple, considérons un triangle équilatéral, avec un point supplémentaire dans le centre du triangle. Il suffit de savoir les points ne permet pas de savoir de quel bord du triangle a été tordu pour rencontrer le centre point.
Merci, mis à jour le problème pour le résoudre. Ce doit identifier de manière unique le quadrilatère.

OriginalL'auteur slykat | 2011-05-07