点到直线的垂直交点坐标 和 距离计算 您所在的位置:网站首页 曲线与直线交点距离公式 点到直线的垂直交点坐标 和 距离计算

点到直线的垂直交点坐标 和 距离计算

2024-07-11 20:05| 来源: 网络整理| 查看: 265

越来越发现自己数学之差了,连简单的数学运算忘记了,吐舌头,写下实现点到直线交点坐标的计算方法

原理是两点确定一条直线,利用公式 y = ax+b 去计算

然后根据与直线方程Ax+By+C=0(A≠0,B≠0)垂直的直线方程是Bx-Ay+m = 0, (m是参变量)的原理求出垂线方程的m值,然后根据两个直线方程求出交点坐标。

其中pt1和pt2为已知的两个在直线上的点,pt3为垂线上的点坐标ptCross为获取的交点坐标

/** @ brief 根据两点求出垂线过第三点的直线的交点 @ param pt1 直线上的第一个点 @ param pt2 直线上的第二个点 @ param pt3 垂线上的点 @ return 返回点到直线的垂直交点坐标 */ QPointF test(const QPointF &pt1, const QPointF &pt2, const QPointF &pt3) { qreal A = (pt1.y()-pt2.y())/(pt1.x()- pt2.x()); qreal B = (pt1.y()-A*pt1.y()); /// > 0 = ax +b -y; 对应垂线方程为 -x -ay + m = 0;(mm为系数) /// > A = a; B = b; qreal m = pt3.x() + A*pt3.y(); /// 求两直线交点坐标 QPointF ptCross; ptCross.setX((m-A*B)/(A*A + 1)); ptCross.setY(A*ptCross.x()+B); return ptCross; }

点到直线距离为,使用公式,(点p0(x0, y0),直线L公式为

qreal test2(const QPointF &pt1, const QPointF &pt2, const QPointF &pt3) { qreal A = (pt1.y()-pt2.y())/(pt1.x()- pt2.x()); qreal B = (pt1.y()-A*pt1.y()); /// > 0 = ax +b -y; return qAbs(A*pt3.x() + B -pt3.y())/sqrt(A*A + 1); }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有