推导前置:两点之间距离公式

图一:
在这里插入图片描述
已知AB两点坐标为A(x1,y1),B(x2,y2)。
过A做一直线与X轴平行,过B做一直线与Y轴平行,两直线交点为C。
则AC垂直于BC(因为X轴垂直于Y轴)
则三角形ACB为直角三角形
由勾股定理得
A B 2 = A C 2 + B C 2 AB^2=AC^2+BC^2 AB2=AC2+BC2

A B = A C 2 + B C 2 AB=\sqrt{AC^2+BC^2} AB=AC2+BC2

已知直线方程:

一般式
A x + B y + C = 0 Ax+By+C=0 Ax+By+C=0
点斜式
( y 1 − y 2 ) ( x 1 − x 2 ) = k \frac{(y1-y2)}{(x1-x2)}=k (x1x2)(y1y2)=k

过P(x0,y0)作直线L的垂线Li,垂足为D(x,y),p(x0,y0)到D(x,y)的距离为d
在这里插入图片描述

由一般式直线方程可知,直线L的斜率为:-
k = − A B k=-\frac{A}{B} k=BA

由于两线垂直斜率乘积为-1,所以垂线Li的斜率为:
k i = B A ki=\frac{B}{A} ki=AB

代入点斜式直线方程:

y 0 − y x 0 − x = B A \frac{y0-y}{x0-x}=\frac{B}{A} x0xy0y=AB

即得到直线方程二:
B x − A y + A y 0 − B x 0 = 0 Bx-Ay+Ay0-Bx0=0 BxAy+Ay0Bx0=0

通过一般式可知:
x = − ( c + B y ) A x=\frac{-(c+By)}{A} x=A(c+By)

y = − ( c + A x ) B y=\frac{-(c+Ax)}{B} y=B(c+Ax)

代入直线方程二

B x + A C + A 2 ∗ x B + A y 0 − B x 0 = 0 Bx+\frac{AC+A^2*x}{B}+Ay0-Bx0=0 Bx+BAC+A2x+Ay0Bx0=0

计算得到D(x,y)的坐标为:

x = B 2 ∗ x 0 − A B y 0 − A C B 2 + A 2 x=\frac{B^2*x0-ABy0-AC}{B^2+A^2} x=B2+A2B2x0ABy0AC

y = A 2 ∗ y 0 − A B x 0 − B C B 2 + A 2 y=\frac{A^2*y0-ABx0-BC}{B^2+A^2} y=B2+A2A2y0ABx0BC

x − x 0 = − A ( A x 0 + B y 0 + C ) B 2 + A 2 x-x0=\frac{-A(Ax0+By0+C)}{B^2+A^2} xx0=B2+A2A(Ax0+By0+C)

y − y 0 = − B ( A x 0 + B y 0 + C ) B 2 + A 2 y-y0=\frac{-B(Ax0+By0+C)}{B^2+A^2} yy0=B2+A2B(Ax0+By0+C)

根据推导前置图一勾股定理可知:

d 2 = ( x − x 0 ) 2 + ( y − y 0 ) 2 d^2=(x-x0)^2+(y-y0)^2 d2=(xx0)2+(yy0)2

所以代入x-x0,y-y0得到:
d 2 = ( − A ( A x 0 + B y 0 + C ) ( B 2 + A 2 ) ) 2 + ( − B ( A x 0 + B y 0 + C ) ( B 2 + A 2 ) ) 2 d^2=\frac{(-A(Ax0+By0+C)}{(B^2+A^2))^2}+\frac{(-B(Ax0+By0+C)}{(B^2+A^2))^2} d2=(B2+A2))2(A(Ax0+By0+C)+(B2+A2))2(B(Ax0+By0+C)

d 2 = A 2 ( A x 0 + B y 0 + C ) 2 ( B 2 + A 2 ) 2 + B 2 ( A x 0 + B y 0 + C ) 2 ( B 2 + A 2 ) 2 d^2=\frac{A^2(Ax0+By0+C)^2}{(B^2+A^2)^2}+\frac{B^2(Ax0+By0+C)^2}{(B^2+A^2)^2} d2=(B2+A2)2A2(Ax0+By0+C)2+(B2+A2)2B2(Ax0+By0+C)2

d 2 = ( A 2 + + B 2 ) ( A x 0 + B y 0 + C ) 2 ( B 2 + A 2 ) 2 d^2=\frac{(A^2++B^2)(Ax0+By0+C)^2}{(B^2+A^2)^2} d2=(B2+A2)2(A2++B2)(Ax0+By0+C)2

d 2 = ( A x 0 + B y 0 + C ) 2 ( B 2 + A 2 ) d^2=\frac{(Ax0+By0+C)^2}{(B^2+A^2)} d2=(B2+A2)(Ax0+By0+C)2

得出点到直线距离公式为:

d = ∣ A x 0 + B y 0 + C ∣ A 2 + B 2 d=\frac{|Ax0+By0+C|}{\sqrt{A^2+B^2}} d=A2+B2 Ax0+By0+C

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐