問題描述
點(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 主站蜘蛛池模板: 瓦房店市| 望谟县| 德庆县| 云梦县| 大兴区| 二手房| 斗六市| 肃南| 林西县| 遂宁市| 崇明县| 诸暨市| 定西市| 五寨县| 聂拉木县| 麟游县| 竹溪县| 登封市| 漠河县| 庆云县| 昭通市| 鄂托克前旗| 兴文县| 石家庄市| 贵溪市| 石楼县| 怀远县| 鹿泉市| 宁安市| 陇南市| 宁蒗| 绵阳市| 甘洛县| 磐安县| 留坝县| 昭通市| 新野县| 龙口市| 陇西县| 名山县| 乾安县|