本帖最后由 sagood 于 2012-5-28 02:09 编辑
回复  jiejiedog
大侠既然看透了能支一下招吗? 诚心请教。
was_denn_los? 发表于 2012-5-28 01:54



    可以把问题简化成确定一个点是否在三角形内。
    点在内的话,那么一定在各个边的左边(逆时针方向看的话)。
    而判断点是否则一条射线的左边,可以通过向量叉积的正负来判断。。

                                 A
                                 D
                            B        C

      那么 P(A,B,D) >= 0 && P(B,C,D)  >=0 && P(C, A, D) >=0
      P(m, n, p) = (n.x - m.x) * (p.y - m.y) - (p.x - m.x) * (n.y - m.y)

TOP