JS 判断直线相交

function CheckLineCrossByPoint(LineA_PointA, LineA_PointB, LineB_PointA, LineB_PointB)
    {
        var v1=0, v2=0, v3=0, v4=0;
        v1 = (LineA_PointB.lng() - LineA_PointA.lng()) * (LineB_PointB.lat() - LineA_PointA.lat()) - (LineA_PointB.lat() - LineA_PointA.lat()) * (LineB_PointB.lng() - LineA_PointA.lng());
        v2 = (LineA_PointB.lng() - LineA_PointA.lng()) * (LineB_PointA.lat() - LineA_PointA.lat()) - (LineA_PointB.lat() - LineA_PointA.lat()) * (LineB_PointA.lng() - LineA_PointA.lng());
        if(v1 * v2 >= 0){
            return false;
        }    
        v3 = (LineB_PointB.lng() - LineB_PointA.lng()) * (LineA_PointB.lat() - LineB_PointA.lat()) - (LineB_PointB.lat() - LineB_PointA.lat()) * (LineA_PointB.lng() - LineB_PointA.lng());
        v4 = (LineB_PointB.lng() - LineB_PointA.lng()) * (LineA_PointA.lat() - LineB_PointA.lat()) - (LineB_PointB.lat() - LineB_PointA.lat()) * (LineA_PointA.lng() - LineB_PointA.lng());
        if(v3 * v4 >= 0){
            return false;
        }
                
        return true;
    }

你可能感兴趣的:(JS 判断直线相交)