测试一条线是否在三角形内有一个点

tho*_*edb 3 geometry 2d line computational-geometry

如何测试一条线是否有一个位于三角形内(而不是边缘)的点.(全部为2D).

目前我在想我会这样做:

  • 定义直线,三角形的每一边为Ax + By + C = 0,并有一个xrange.
  • 检查线是否与三角形的任何线相交.
  • 如果是,请检查这不是在行的末尾.

有一个更好的方法吗?

ken*_*ytm 7

  1. 将3个点替换为线的等式.例如,如果线为4x - 3Y + 2 = 0,和三角形的顶点是(2,1),(4,3),(0,5),我们7,9和-13分别得到的值.

  2. 检查所有值是否都符号相同.如果是,则该线不与三角形相交.在上面的例子中,线与三角形相交.

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