2010-08-28 92 views
3

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

目前,我想我会做到这一点:

  • 定义线,三角形AX + + C = 0的每一侧,有一个x范围。
  • 检查线是否与三角形的任何线相交。
  • 如果有,请检查这不是在行的末尾。

有没有更好的方法来做到这一点?

回答

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

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

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

+0

这是否对所有情况?这个怎么用? – thomasfedb 2010-08-28 10:55:04

+0

@ thomas:是的。如图所示,设想表面z = 4x - 3y + 2 ...有关详细信息,请尝试询问http://math.stackexchange.com/。 – kennytm 2010-08-28 11:02:51

+0

你是怎么画的? – 2010-08-28 11:06:46