js检测三角形是否包含一个点

  pointInTriangle:function(x0, y0, x1, y1, x2, y2, x3, y3) {
        var divisor = (y2 - y3)*(x1 - x3) + (x3 - x2)*(y1 - y3);
        var a = ((y2 - y3)*(x0 - x3) + (x3 - x2)*(y0 - y3)) / divisor;
        var b = ((y3 - y1)*(x0 - x3) + (x1 - x3)*(y0 - y3)) / divisor;
        var c = 1 - a - b;

        return a >= 0 && a <= 1 && b >= 0 && b <= 1 && c >= 0 && c <= 1;
    },

检测(x0,y0)点,是否包含在由(x1,y1),(x2,y2),(x3,y3)组成的三角形的内部,位于三角形的三个边线上也算。

posted @ 2018-08-29 16:38  居家懒人  阅读(364)  评论(0编辑  收藏  举报