有三个点(a,b)、(x0,y0)、(xm,ym)。求点(a,b)到(x0,y0)、(xm,ym)连线距离的表达式:
distance=abs((a-x0)*(y0-ym)-(b-y0)*(x0-xm))/sqrt((y0-ym)^2+(x0-xm)^2)
对应的Matlab程序:
function [distance] = getPtsDis(pts,pt1,pt2)
distance=abs((pts(:,2)-pt1(2))*(pt1(1)-pt2(1))-(pts(:,1)-pt1(1))*(pt1(2)-pt2(2)))/sqrt(sum((pt1-pt2).^2));
end
distance=abs((a-x0)*(y0-ym)-(b-y0)*(x0-xm))/sqrt((y0-ym)^2+(x0-xm)^2)
对应的Matlab程序:
function [distance] = getPtsDis(pts,pt1,pt2)
distance=abs((pts(:,2)-pt1(2))*(pt1(1)-pt2(1))-(pts(:,1)-pt1(1))*(pt1(2)-pt2(2)))/sqrt(sum((pt1-pt2).^2));
end
Aucun commentaire:
Enregistrer un commentaire