平面上点到直线的距离

news/2024/11/20 23:26:16/

文章目录

    • 平面上点到直线的距离

平面上点到直线的距离

  • 设坐标平面上有点 P ( x 1 , y 1 ) P(x_1,y_1) P(x1,y1)和直线 l : A x + B y + C = 0 l:Ax+By+C=0 l:Ax+By+C=0, A , B A,B A,B不全为0
  • P P P到直线 l l l的的距离的算法推导如下
    • 作直线 m m m通过点 P ( x 1 , y 1 ) P(x_1,y_1) P(x1,y1),并且和直线 l l l垂直,设垂足为 P 0 ( x 0 , y 0 ) P_0(x_0,y_0) P0(x0,y0)
    • 令: d 2 = ∣ P 0 P 1 ∣ 2 = ( x 1 − x 0 ) 2 + ( y 1 − y 0 ) 2 d^2=|P_0P_1|^2=(x_1-x_0)^2+(y_1-y_0)^2 d2=P0P12=(x1x0)2+(y1y0)2(0),所求的就是 d d d
    • 由直线垂直对应的方程关系可设直线 P P 0 PP_0 PP0的方程为 B x − A y + D = 0 B{x}-Ay+D=0 BxAy+D=0(1)
      • 因为 P P P P P 0 PP_0 PP0上,从而 B x 0 − A y 0 + D = 0 Bx_0-Ay_0+D=0 Bx0Ay0+D=0(1-1)
      • 两式相减,得 B ( x − x 0 ) − A ( y − y 0 ) = 0 B(x-x_0)-A(y-y_0)=0 B(xx0)A(yy0)=0(1-2)
      • P 0 P_0 P0代入到(1-2),得 B ( x 0 − x 1 ) − A ( y 0 − y 1 ) B(x_0-x_1)-A(y_0-y_1) B(x0x1)A(y0y1)=0(1-3)
    • 又因为 P 0 P_0 P0还在 l l l上,从而 A x 0 + B y 0 + C = 0 Ax_0+By_0+C=0 Ax0+By0+C=0,从而 C = − A x 0 − B y 0 C=-Ax_0-By_0 C=Ax0By0(1-4),
    • 构造 t = A x 1 + B y 1 + C t=Ax_1+By_1+C t=Ax1+By1+C,由(1-4),得 t = A x 1 + B y 1 − A x 0 − B y 0 t=Ax_1+By_1-Ax_0-By_0 t=Ax1+By1Ax0By0= A ( x 1 − x 0 ) + B ( y 1 − y 0 ) A(x_1-x_0)+B(y_1-y_0) A(x1x0)+B(y1y0)(1-5),即 A ( x 1 − x 0 ) + B ( y 1 − y 0 ) = t A(x_1-x_0)+B(y_1-y_0)=t A(x1x0)+B(y1y0)=t(1-6)
      • 将(1-3)两边平方加上(1-6)两边平方,整理得
      • ( A 2 + B 2 ) [ ( x 1 − x 0 ) 2 + ( y − y 0 ) 2 ] (A^2+B^2)[(x_1-x_0)^2+(y-y_0)^2] (A2+B2)[(x1x0)2+(yy0)2]= t 2 t^2 t2(1-7);代入(0),得 ( A 2 + B 2 ) d 2 (A^2+B^2)d^2 (A2+B2)d2= t 2 t^2 t2
      • 所以 d 2 d^2 d2= t 2 ( A 2 + B 2 ) \frac{t^2}{(A^2+B^2)} (A2+B2)t2
      • d d d= ∣ t ∣ A 2 + B 2 \frac{|t|}{\sqrt{A^2+B^2}} A2+B2 t= ∣ A x 1 + B y 1 + C ∣ A 2 + B 2 \frac{|Ax_1+By_1+C|}{\sqrt{A^2+B^2}} A2+B2 Ax1+By1+C(1-8)

http://www.ppmy.cn/news/1273461.html

相关文章

Vue3知识点总结

目录 一.创建Vue2工程 1.使用 vue-cli 创建 2.使用 vite 创建 二.常用 Composition API setup ref函数 reactive函数 计算属性与监视 1.computed函数 2.watch函数 3.watchEffect函数 一.创建Vue2工程 1.使用 vue-cli 创建 查看vue/cli版本,确保vue/cli版本…

Azure Machine Learning - 提示工程简介

OpenAI的GPT-3、GPT-3.5和GPT-4模型基于用户输入的文本提示工作。有效的提示构造是使用这些模型的关键技能,涉及到配置模型权重以执行特定任务。这不仅是技术操作,更像是一种艺术,需要经验和直觉。本文旨在介绍适用于所有GPT模型的提示概念和…

4-Docker命令之docker pull

1.docker pull介绍 docker pull命令是用于从镜像仓库中拉取指定镜像。如果没有指定镜像标签,那么docker默认使用:latest标签 2.docker pull用法 docker pull [参数] NAME[:TAG|@DIGEST] [root@centos79 ~]# docker pull --helpUsage: docker pull [OPTIONS] NAME[:TAG|@D…

Explain工具-SQL性能优化

文章目录 SQL性能优化的目标Explain中type效率级别(重要)注意 Explain覆盖索引ExplainindexExplainfilesortExplainfilesort创建 idx_bd(b,d) SQL性能优化的目标 达到 range 级别 Explain中type效率级别(重要) 显示的是单位查询…

机器学习算法---异常检测

类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统计学检验箱…

单机架构到分布式架构的演变

目录 1.单机架构 2.应用数据分离架构 3.应用服务集群架构 4.读写分离 / 主从分离架构 5.引入缓存 —— 冷热分离架构 6.垂直分库 7.业务拆分 —— 微服务 8.容器化引入——容器编排架构 总结 1.单机架构 初期,我们需要利用我们精干的技术团队,快…

流程图、泳道图的介绍和示例分享,以及自定义元件库的介绍

目录 一. 流程图介绍 二. Processon使用 新建一个流程图 图形的使用 三. 流程图示例 登录界面 门诊业务流程图 住院业务流程图 药房业务流程图 会议OA流程图 四. 泳道图介绍 五. 自定义元件库 5.1 新建一个元件库 5.2 创建元件 5.3 使用自定义元件库 一. 流程图介…

华为鸿蒙应用--欢迎页SplashPage+倒计时跳过(自适应手机和平板)-ArkTs

鸿蒙ArkTS 开发欢迎页SplashPage倒计时跳过,可自适应平板和手机: 一、SplashPage.ts import { BreakpointSystem, BreakPointType, Logger, PageConstants, StyleConstants } from ohos/common; import router from ohos.router;Entry Component struct…