点到直线的距离公式推导
点到直线的距离公式推导
本文地址:blog.lucien.ink/archives/495
摘自 点到直线距离公式的几种推导 - 三横先生的文章 - 知乎 的三角形面积法,稍作修改并更正书写错误。
起因
今天在 PPT 里看到一个点到超平面的距离公式 d=1∥w∥∣w⋅x0+b∣d = \frac{ 1 }{ \left\| \boldsymbol w \right\| }| \boldsymbol w \cdot \boldsymbol x_0 + \boldsymbol b |d=∥w∥1∣w⋅x0+b∣,看了半天没看懂为什么这样算,遂去问学霸,答曰“平面情况下就是点到直线的距离公式”。
万分惭愧,我连初中数学都忘了。
三角形面积法
直线 lll 方程为 Ax+By+C=0Ax + By + C = 0Ax+By+C=0,AAA、BBB 均不为 000,点 P(x0,y0)P(x_0, y_0)P(x0,y0),设点 PPP 到 lll 的距离为 ddd。
设点 R(xR,y0)R(x_R, y_0)R(xR,y0),点 S(x0,yS)S(x_0, y_S)S(x0,yS)。
由 R,SR, SR,S 在直线 lll 上,得到
AxR+By0+C=0Ax_R + By_0 + C = 0AxR+By0+C=0Ax0+ByS+C=0Ax_0 + By_S + C = 0Ax0+ByS+C=0
所以
xR=−By0−CAx_R = \frac{ -By_0 - C }{ A }xR=A−By0−CyS=−Ax0−CBy_S = \frac{ -Ax_0 - C }{ B }yS=B−Ax0−C
即
∣PR∣=∣x0−xR∣=∣x0−−By0−CA∣=∣Ax0+By0+CA∣| PR | = | x_0 - x_R | = | x_0 - \frac{ -By_0 - C }{ A } | = | \frac{ Ax_0 + By_0 + C }{ A } |∣PR∣=∣x0−xR∣=∣x0−A−By0−C∣=∣AAx0+By0+C∣∣PS∣=∣y0−yS∣=∣y0−−Ax0−CB∣=∣Ax0+By0+CB∣| PS | = | y_0 - y_S | = | y_0 - \frac{ -Ax_0 - C }{ B } | = | \frac{ Ax_0 + By_0 + C }{ B } |∣PS∣=∣y0−yS∣=∣y0−B−Ax0−C∣=∣BAx0+By0+C∣
于是
∣RS∣=PR2+PS2=A2+B2AB⋅∣Ax0+By0+C∣| RS | = \sqrt{ { PR }^2 + { PS }^2 } = \frac{ \sqrt{ A^2 + B^2 } }{ AB } \cdot | Ax_0 + By_0 + C |∣RS∣=PR2+PS2=ABA2+B2⋅∣Ax0+By0+C∣
由 ΔPSR\Delta_{PSR}ΔPSR 得
d⋅∣RS∣=∣PR∣⋅∣PS∣d \cdot | RS | = | PR | \cdot | PS |d⋅∣RS∣=∣PR∣⋅∣PS∣
即
d=∣PR∣⋅∣PS∣∣RS∣=∣Ax0+By0+CA∣⋅∣Ax0+By0+CB∣A2+B2AB⋅∣Ax0+By0+C∣=∣Ax0+By0+C∣A2+B2d = \frac{ | PR | \cdot | PS | }{ | RS | } = \frac{ | \frac{ Ax_0 + By_0 + C }{ A } | \cdot | \frac{ Ax_0 + By_0 + C }{ B } | }{ \frac{ \sqrt{ A^2 + B^2 } }{ AB } \cdot | Ax_0 + By_0 + C | } = \frac{ | Ax_0 + By_0 + C | }{ \sqrt{ A^2 + B^2 } }d=∣RS∣∣PR∣⋅∣PS∣=ABA2+B2⋅∣Ax0+By0+C∣∣AAx0+By0+C∣⋅∣BAx0+By0+C∣=A2+B2∣Ax0+By0+C∣
另一种形式
设函数 f(x,y)=Ax+By+Cf(x, y) = Ax + By + Cf(x,y)=Ax+By+C,直线 l:Ax+By+C=0l: Ax + By + C = 0l:Ax+By+C=0 的法向量为 v(A,B)\boldsymbol v(A, B)v(A,B)。
则点 P(x0,y0)P(x_0, y_0)P(x0,y0) 到直线 lll 的距离 ddd 为
d=∣Ax0+By0+C∣A2+B2=f(x0,y0)∥v∥d = \frac{ | Ax_0 + By_0 + C | }{ \sqrt{ A^2 + B^2 } } = \frac{ f(x_0, y_0) }{ \left\| \boldsymbol v \right\| }d=A2+B2∣Ax0+By0+C∣=∥v∥f(x0,y0)
注:∥v∥\left\| \boldsymbol v \right\|∥v∥ 为向量 v\boldsymbol vv 的 2-范数
点到直线的距离公式推导相关推荐
- 点到平面的距离公式推导
预备知识: (1) 平面的一般表达式: 其中,n=(A,B,C)是平面的法向量,D决定了平面与原点之间的距离,当D=0时,平面经过原点. (2) 向量的模(长度): 给定一个向量V=(x,y,z),则 ...
- 过直线上一点画垂线图_苏教版四年级数学上册8.5认识垂直、点到直线的距离微课视频 | 练习...
微课视频第一课时 微课视频第二课时 同步练习 参考答案 教学设计 垂直 教材第89~91页的内容. 1.结合实际情境和操作活动,认识垂直. 2.能借助直尺.三角尺.量角器等工具画出已知直线的垂线,并理 ...
- 点到线段的距离_直线垂直,垂线的性质,点到直线的距离
欢迎关注公z号:沈阳奥数 两条直线相交所成的四个角中,有一个角是直角时,就说这两条直线互相垂直,其中一条直线叫做另一条直线的垂线,它们的交点叫垂足. 如图,直线AB与CD垂直于点E,记作:AB⊥CD于 ...
- 点到直线的距离c语言程序,点到线段的距离 题解(C++)
初步分析 这道题之前有<点到直线的距离>一题. 如图,我们不妨来下个定义(名字是乱起的,如果有雷同就以以下定义为准): 对于任意线段l,在其两个端点上分别作垂直于l的直线,若点在两直线之间 ...
- 【JAVA 第四章 流程控制语句】课后习题 直线斜率 以及判断坐标是否在直线上点到直线的距离
不知道对不对,请教大神帮忙找下.公式是否有错 import java.util.Scanner;public class Test {/*设计并实现一个MyLine 类,它表示直线.构造方法中使用两个 ...
- 点到曲线的距离公式_推导点到直线的距离公式到底有多少种方法?
[总结]方程思想,这也是解析几何的主题思想,几何问题代数化,转化为代数计算. 优点:思路简单清晰易于理解. 缺点:计算量较大. [总结]此方法优点:计算量大幅度减小,紧扣问题入手,切入点准确. 缺点: ...
- 点到直线的距离公式和平行线的距离公式
点到直线的距离公式 已知一个点 P ( x 0 , y 0 ) P(x_0,y_0) P(x0,y0)和直线 l : A x + B y + C = 0 l:Ax+By+C=0 l:Ax+By+C ...
- 使用向量的方法来计算点到直线的距离
使用向量的方法效率更高,更简单. 首先要了解什么是向量,什么是向量的模 主要用到了解析几何里的几个公式 a * b = | a | * | b | * cos(x),其中x为向量a,b的夹角 | a ...
- java点到直线距离_求取点到直线的距离
问题描述: 已知点P(px,py),直线L(P1,P2),求点P到L的距离. 首先,推导直线公式: 点$$P_1(x_1,y_1)$$, 点$$P_2(x_2,y_2)$$ 可知直线方程为: $$x( ...
- 点到点的距离、点到直线的距离、点是否在直线上
C#代码实现点到点.点到直线的距离.点是否在直线上 1.点到点的距离 public static double DistanceP2P(double x1, double y1, double x2, ...
最新文章
- 在CentOS 6.3/6.5 64bit上为python 2.7.10安装pycurl模块
- 每天一点Linux --- 目录的可执行权限
- 050_Boolean对象
- 2018高中计算机会考知识点,2018高中物理会考知识点总结
- python中转义字符怎么用_python中的转义字符i
- 【unity3d--初始学习五--c#脚本对xml文件的创建和解析】
- C 语言实例 - 使用结构体(struct)
- Magento 创建优惠卷 Create unique coupon code in Magento
- py导入包异常跳出_14-0-包的介绍及使用
- 浏览器窗口可视区域大小相关方法
- mysql 5.7插入很慢_MySQL进阶——主从复制
- 高斯课堂数电讲义笔记_《高数上》讲义笔记【高斯课堂】 (1).pdf
- 编程15年,如何才能成不了高手?
- 不用加减乘除做四则运算
- 关于Windows10右键新建卡顿
- TCP与UDP 的区别
- 恒生电子面试过程纪录
- Python错误之 SyntaxError: invalid syntax的解决方法总结
- 用PS做淘宝宝贝详情页及如何切图导出
- sudo cd为什么不能够执行