問題描述
點(diǎn)到直線或者線段的距離
實(shí)現(xiàn)思路
假設(shè)有一點(diǎn)坐標(biāo)P(x0,y0),有一線段AB,A坐標(biāo)(x1,y1),B坐標(biāo)(x2,y2),求P點(diǎn)到AB線段或所在直線的距離d以及P點(diǎn)在直線上的垂足C(x,y)。
這需要復(fù)習(xí)一下高中的數(shù)學(xué)知識。
首先需要將A,B兩點(diǎn)坐標(biāo)轉(zhuǎn)換為直線方程的一般式Ax+By+C = 0,過程就不推演了。
參數(shù)計(jì)算:
A=y2-y1;
B=x1-x2;
C=x2*y1-x1*y2;
1、點(diǎn)到直線的距離公式:
d= ( Ax0 + By0 + C ) / sqrt ( A*A + B*B );
2、垂足C(x,y)計(jì)算公式:
x = ( B*B*x0 - A*B*y0 - A*C ) / ( A*A + B*B );
y = ( -A*B*x0 + A*A*y0 主站蜘蛛池模板: 常山县| 乐山市| 大邑县| 米易县| 克山县| 汤阴县| 新干县| 南川市| 体育| 洛浦县| 黔南| 西青区| 新绛县| 合作市| 合川市| 河曲县| 礼泉县| 定远县| 弥渡县| 石城县| 甘洛县| 视频| 陇西县| 明溪县| 美姑县| 江华| 穆棱市| 大洼县| 探索| 武宣县| 西峡县| 南澳县| 泰和县| 太白县| 南昌市| 中江县| 信丰县| 宁波市| 马关县| 阜新| 甘肃省|