zoukankan      html  css  js  c++  java
  • 判断线段相交

    struct point{
        double x,y ;
    } ;
    double direction(point p1,point p2,point p)
    {
        return (p.x-p1.x)*(p1.y-p2.y)-(p1.x-p2.x)*(p.y-p1.y) ;
    }
    bool online(point p1,point p2,point p)
    {
        return (p.x<=max(p1.x,p2.x) && p.x>=min(p1.x,p2.x) && p.y<=max(p1.y,p2.y) && p.y>=min(p1.y,p2.y)) ;
    }
    bool intersect(point p1,point p2,point p3,point p4)
    {
        double d1=direction(p3,p4,p1) ;
        double d2=direction(p3,p4,p2) ;
        double d3=direction(p1,p2,p3) ;
        double d4=direction(p1,p2,p4) ;
        if(d1*d2<0 && d3*d4<0)
            return true ;
        if(d1==0 && online(p3,p4,p1)) 
            return true ;
        if(d2==0 && online(p3,p4,p2))
            return true ;
        if(d3==0 && online(p1,p2,p3))
            return true ;
        if(d4==0 && online(p1,p2,p4))
            return true ;
        return false ;
    }
    View Code
  • 相关阅读:
    word2vec原理
    tensorboard
    更换pip源到国内镜像
    pycharm打包exe
    whl文件下载
    pycharm连git和gitee
    Django基础
    mysql相关
    安装anaconda及pytorch
    VSCode 配置python
  • 原文地址:https://www.cnblogs.com/xiaohongmao/p/2542789.html
Copyright © 2011-2022 走看看