2010-08-28 23 views
3

Comment puis-je vérifier si une ligne a un point qui se trouve dans (pas sur le bord) un triangle. (Tout en 2D).test si une ligne a un point dans un triangle

Actuellement, je pense que je vais le faire:

  • définir la ligne et de chaque côté du triangle Ax + By + C = 0, et ont un xrange.
  • Vérifiez si la ligne coupe l'une des lignes du triangle.
  • Si c'est le cas, vérifiez que ce n'est pas à la fin de la ligne.

Y at-il une meilleure façon de le faire? Remplacez les 3 points dans l'équation de la ligne par les trois points suivants:

Répondre

7
  1. par exemple. si la ligne est 4x − 3y + 2 = 0, et les sommets du triangle sont (2, 1), (4, 3), (0, 5), nous obtenons les valeurs 7, 9 et -13 respectivement.

  2. vérifier si toutes les valeurs sont du même signe. Si oui, la ligne ne coupe pas le triangle. Dans l'exemple ci-dessus, la ligne coupe le triangle.

    http://www.imgftw.net/img/743059947.png

+0

Est-ce que cette prise dans tous les cas? Comment cela marche-t-il? – thomasfedb

+0

@thomas: Oui. Comme illustration, imaginez la surface z = 4x - 3y + 2 ... Pour plus de détails, essayez de demander sur http://math.stackexchange.com/. – kennytm

+0

Comment avez-vous dessiné ça? –