3

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

目前我想我会这样做:

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

有一个更好的方法吗?

4

1 回答 1

9
  1. 将 3 个点代入直线方程。例如,如果直线是 4x − 3y + 2 = 0,三角形的顶点是 (2, 1), (4, 3), (0, 5),我们分别得到值 7, 9 和 -13。

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

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

于 2010-08-28T10:38:43.570 回答