这几天在写一个项目,其中涉及到两条直线的平行的判断,我在这几天里考虑了几种方法,都不够理想,最后想到了下面的方法。

这里,我可以分别得到两条直线上的两个点,也就是中学时候学的两点式的直线。

假设

直线l1上有两点,P1(x1,y1),P2(x2,y2),那么直线l1就是(y1-y2)x-(x1-x2)y+x1y2-x2y1=0。

直线l2上有亮点V1(x1',y1'),P2(x2',y2'),那么直线l2就是(y1'-y2')x-(x1'-x2')y+x1'y2'-x2'y1'=0。

也就是说,当a1*a2+b1*b2不为零的时候,判断两条直线平行的话,只需要θ角小于足够的阈值即可,也就是abs(tanθ)要小于足够的值。这是因为,tan的值是自0到pi/2是单调递增的,而我们说的两直线的夹角,也指的是小于pi/2的角度。

      我在代码里是设定的值是0.2也就是说一个10度左右的夹角。

double ax=x2-x1;//vector of line 1 double ay=y2-y1; double bx=X2-X1;//vector of line 2 double by=Y2-Y1; double dvalue=(ax*by-ay*bx)/(ax*bx+ay*by); if (abs(dvalue) < 0.2) { continue; }

有关如何判断平面上两直线是否平行的问题相关推荐

  1. 判断平面上两直线相交

    直线相交 首先引出计算几何学中一个最基本的问题:如何判断向量在的顺时针方向还是逆时针方向? 把p0定为原点,p1的坐标是(x1,y1),p2的坐标是(x2,y2).向量的叉积(cross produc ...

  2. 判断平面上两条直线是否相交

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 判断平面 ...

  3. 编写C语言代码,实现以下功能:输入平面上两个点P1(x1,y1)和P2(x2,y2)的坐标,以这两个点为左上角和右下角可以确定一个矩形,输出这个矩形的周长。要求平面上点的坐标和矩形都用结构体来表示。

    编写C语言代码,实现以下功能: 输入平面上两个点P1(x1,y1)和P2(x2,y2)的坐标,以这两个点为左上角和右下角可以确定一个矩形,输出这个矩形的周长.要求平面上点的坐标和矩形都用结构体来表示. ...

  4. PCL点云处理之平面内两直线求交点(五十)

    PCL点云处理之平面内两直线求交点(五十) 一.两点求直线 二.两直线求交点 二.代码 一.两点求直线 设两个点为 (x1, y1) , (x2, y2),则有: A = y2 - y1 B = x1 ...

  5. 解析几何:第三章 平面上的直线

    §1  直线方程 1.直线的斜率 2.斜截式 y=kx+b 式中k为直线的斜率, b为纵截距 3.点斜式 4.截距式 式中a,b分别为直线的横截距和纵截距. 5.两点式 6.一般式 Ax+By+C=0 ...

  6. 如何判断平面上两条线段(注意是线段)是否相交?

    看到题目,很多人想,这个问题太简单了,直接求直线方程,然后求交点,看方程组是否有解.我在网上搜索了一下,很多思路都是求直线方程,求交点或求距离,不一而足.回顾高中学的线性规划知识,下面将给出一个我认为 ...

  7. 判断两直线正交 平行问题

    方法一: 用内积外积判断正交平行时,形参为线段 #include<iostream> #include<cmath> using namespace std;#define E ...

  8. c语言坐标打印佛祖,C语言输入平面上两个点的坐标(double类型),计算两个点之间的距离。看”详细“里哪里写错了谢谢...

    满意答案 #include #includeint main(){ int x1,y1,x2,y2,absx,absy; double res; printf("Please input t ...

  9. 平面上点和直线的齐次表示

    齐次坐标在计算机图形学和计算机视觉中有广泛的应用,比如可以方便地表示和计算空间位姿变换,可以表示无穷远点等.以下整理一些二维中齐次坐标的性质. 点的齐次表示 一般地,平面中的点可以用  中的坐标  表 ...

最新文章

  1. 大数据调度平台Airflow(三):Airflow单机搭建
  2. 快来学习Redis 分布式锁的背后原理
  3. R语言 (温度 随时间变化)
  4. Silverlight 2.0学习笔记——XAML
  5. linux-impdp的使用
  6. ChaiNext:过去24小时比特币向底部试探
  7. 找工作,如何写好一份漂亮的简历,给你借鉴一下
  8. 进程之基础知识(一)
  9. 万能Ghost系统制作教程(龙帝国论坛)
  10. 360软件小助手-壁纸存储路径
  11. 计算机系统后门程序,一种远程控制的后门程序在互联网出现
  12. 从程序员到数据科学家:SAS 编程基础 (07)- 常量与变量
  13. 三星910S3L单m2接口更换硬盘系统克隆全程攻略
  14. 指定gpu训练模型却依然使用了cpu问题解决
  15. 服务器系统开机提示0xc000007b,重装系统出现0xc000007b无法正常启动怎么解决
  16. 3.1 项目经理的角色习题集
  17. hdu 2094 “产生冠军“
  18. MyCat(三)分库分表
  19. HTML简介:标记型解释型的语言
  20. 一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井

热门文章

  1. 计蒜客习题:走迷宫2
  2. 图片中的文字怎么提取
  3. 服务器阵列卡安装win7系统,乐扩阵列卡IO-PCE9230-4IR组阵列方法和windows7系统安装到阵列组详细讲解(附视频) - 常见问题 - 技术支持 - 乐扩...
  4. 关于程序员背景做公众号的想法
  5. flash 与分解:分解百度MP3图片墙
  6. 杜邦分析模型 java_如何用java报表工具Style Report 制作财务分析杜邦分析
  7. 安卓手机连接不了电脑没反应,adb也无法安装软件——问题解决
  8. 中国天眼FAST再立功,精确测量星际磁场强度,研究登Nature封面
  9. HDR相关标准-HLG/HDR10/HDR10+/DOLBY VISION
  10. 小程序 input首行缩进失效