一、根据两点求直线方程
已知直线上两点为:(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)
三、 代码
输入点和线段,返回距离和垂足