美文网首页
求点到线段的距离、垂足、最近点

求点到线段的距离、垂足、最近点

作者: jadefan | 来源:发表于2019-10-30 23:15 被阅读0次
    直线方程
    • 直线的一般式方程: Ax + By + C = 0
      平行于x轴时,A=0,C≠0;
      平行于y轴时,B=0,C≠0;
      与x轴重合时,A=0,C=0;
      与y轴重合时,B=0,C=0;
      过原点时,C=0;
      与x、y轴都相交时,A*B≠0。
    • 直线的点斜式方程:y - y0 = k( x - x0 ) 也就是 y = k( x - x0 ) + y0
      k为斜率,(x0,y0)为直线上一点
    • 直线的斜截式方程: y = kx + b =- (A/B)y - (C/B)
      斜率:k = -A/B
      设(x1,y1),(x2,y2)为直线上的两点,则
      斜率:k = tanα =(y2-y1)/(x2-x1)或(y1-y2)/(x1-x2)
      代表由直线与右边X轴所成的角的正切,α 为其夹角
    垂足公式
    • 已知直线一般式方程时:
      设已知直线外一点坐标为(x0,y0),垂足坐标为(x,y),因为垂线与直线垂直,垂线斜率为k的负倒数,则可得方程:
      { Ax + By + C = 0;
      { (y - y0) / (x - x0) = B / A;
      解方程可得:
      x = ( B*B*x0 - A*B*y0 - A*C ) / ( A*A + B*B )
      y = ( -A*B*x0 + A*A*y0 - B*C ) / ( A*A + B*B )

    • 已知线段端点时:
      设已知直线外一点坐标为p0(x0,y0),垂足坐标为(x,y),两端点为p1(x1,y1)和p2(x2,y2)
      则直线斜率为:k1 = ( y2 - y1 ) / (x2 - x1 )
      该直线方程为:y = k1 * ( x - x1 ) + y1
      其垂线斜率为:k2 = -1 / k1,
      其垂线方程为:y = k2 * (x-x0) + y0 = k2 * ( x - x0 ) + y = (-1/k1) * (x - x0) + y0
      联立两直线方程,也就是求交点,解得:
      x = ( k1^2 * x1 + k1 * ( y0 - y1 ) + x0 ) / ( k1^2 + 1)
      y = k1 * ( x - x1) + y1

    点到线段的最近点判断

    求出垂足后,判断垂足坐标是否在p1、p2之间,若在则垂足为最近的,否则求p1、p2到p0距离,短者为最近点

    点到线段的距离

    求出最近点,则就得到了最短距离

    相关文章

      网友评论

          本文标题:求点到线段的距离、垂足、最近点

          本文链接:https://www.haomeiwen.com/subject/vqtzvctx.html