求点到直线的最短距离及垂足

一、根据两点求直线方程

已知直线上两点为:(x1,x2),(y1,y2);

设方程为:Ax+By+C=0;

1. 求斜率:k=(y2-y1)/(x2-x1);

2. 直线方程为: y-y1=k(x-x1);

换算得:kx-y+y1-kx1=0,即:

A=k
B=-1
C=y1-kx1=y1-(y2-y1)/(x2-x1)*x1

二、求距离和垂足公式

1. 点(x0,y0)到直线的距离公式为:

d=abs(Ax0+By0+C)/sqrt(A*A+B*B);

2. 设垂足为p,则:

p.x=(B*B*x0-A*B*y0-A*C)/(A*A+B*B)
p.y=(A*A*y0-A*B*x0-B*C)/(A*A+B*B) 

三、 代码

输入点和线段,返回距离和垂足


 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值