首页 > 其他分享 >判断两直线平行

判断两直线平行

时间:2023-04-07 11:00:15浏览次数:42  
标签:直线 判断 line2 line1 endPoint let b2 平行 startPoint

判断两直线平行

  isIntersect3(line1, line2) {
      // 转换成一般式: Ax+By = C
      let a1 = line1.endPoint.y - line1.startPoint.y;
      let b1 = line1.startPoint.x - line1.endPoint.x;
      let c1 = a1 * line1.startPoint.x + b1 * line1.startPoint.y;

      //转换成一般式: Ax+By = C
      let a2 = line2.endPoint.y - line2.startPoint.y;
      let b2 = line2.startPoint.x - line2.endPoint.x;
      let c2 = a2 * line2.startPoint.x + b2 * line2.startPoint.y;

      // 计算交点		
      let d = a1 * b2 - a2 * b1;

      // 当d==0时,两线平行
      if (d == 0) {
        return false;
      } else {
        var x = (b2 * c1 - b1 * c2) / d;
        var y = (a1 * c2 - a2 * c1) / d;
        // 检测交点是否在两条线段上
        if ((isInBetween(line1.startPoint.x, x, line1.endPoint.x) || isInBetween(line1.startPoint.y, y, line1.endPoint.y)) &&
          (isInBetween(line2.startPoint.x, x, line2.endPoint.x) || isInBetween(line2.startPoint.y, y, line2.endPoint.y))) {
          return true;
        }
      }
      return false;
    },

  

标签:直线,判断,line2,line1,endPoint,let,b2,平行,startPoint
From: https://www.cnblogs.com/yaosusu/p/17295481.html

相关文章

  • 判断是否安装了Google地图
    判断是否安装了Google地图,没有弹出Dialog提示安装:/** *ForGoogleMapsCheck * *@return */ privatebooleanisGoogleMapsInstalled(){ try{ ApplicationInfoinfo=getPackageManager().getApplicationInfo( "com.google.andro......
  • 压力位移监控软件,压装过程压力位移判断
    压力位移监控软件,压装过程压力位移判断学习LabVIEW过程,做的一个demo,程序功能主要是采集采集卡或PLC得到的压力位移数据,生成曲线,并对曲线数据进行判断,判断条件使用鼠标拖动形成范围区域,曲线超过区域则曲线不合格。主要是为了学习LabVIEW利用鼠标在XY图中画出区域并将区域坐标数据......
  • 20230406-Python-if判断-day4
    条件语句4月6场景假设:网吧上网去⽹吧进⻔想要上⽹必须做的⼀件事是做什么?(考虑重点)为什么要把身份证给⼯作⼈员?是不是就是为了判断是否成年?是不是如果成年可以上⽹?如果不成年则不允许上⽹?其实这⾥所谓的判断就是条件语句,即条件成⽴执⾏某些代码,条件不成⽴则不执⾏这些......
  • 判断Java类的所有属性是否都为null
    为了判断Java类的所有属性是否都为null,你可以编写一个方法来检查每个属性是否为null。以下是一个示例实现:publicstaticbooleanallFieldsNull(Objectobj)throwsIllegalAccessException{for(Fieldfield:obj.getClass().getDeclaredFields()){field.setAc......
  • Android(安卓)IOS(苹果)判断是否开启通知权限
    在首页onLoad调用permissions()方法;this.permissions();permissions()方法具体代码://判断是否有通知权限permissions(){//#ifdefAPP-PLUSif(plus.os.name=='Android'){//判断是Androidva......
  • 题目 1016: [编程入门]水仙花数判断
    打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 #include<stdio.h>intmain(){inta,b,c,i;for(i=100;i<1000;i++){a=i/100;b=i/10%10;c=i......
  • js dom 类型判断
    Node对象中的nodeName获取指定节点的节点名称(返回的是大写字母表示的)Node对象中的nodeType获取指定节点的节点类型元素节点属性节点文本节点123Node对象中的nodeValue获取指定节点的值详情见官网:https://developer.mozilla.org/......
  • 【230405-2】过定点M(4,2),任意作两条互相垂直的直线l1和l2,分别交xy轴于AB两点,求线段中
    ......
  • PHP 判断数组是否为空的方法
    1.isset功能:判断变量是否被初始化说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右<?php$a='';$a['c']='';if(!isset($a))echo'$a未被初始化'."";if......
  • 判断100内的素数
    #include<stdio.h>#include<math.h>intmain(){inti=0;for(i=1;i<=100;i++){intj=0;for(j=2;j<=sqrt(double(i));j++){if(i%j==0){break;}}if(j>sqrt(double(i))){printf("%d",i);}}return0;}  问题:    在运行......