平面上点到直线的距离

文章目录

    • 平面上点到直线的距离

平面上点到直线的距离

  • 设坐标平面上有点 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.mzph.cn/news/218637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上传文件Dubbo报错: Data length too large: xxxxx, max payload: 8388608

一、场景: 服务端是微服务,服务A有个上传图片的功能,需求是限制大小为10M,用户通过客户端把图片上传到服务A,A再调用服务B把文件上传至阿里oss。 功能实际上很简单,实现的代码如下: 服务A的Con…

快速准确翻译文件夹名:英文翻译成中文,文件夹批量重命名的技巧

在处理大量文件夹时,可能会遇到要将英文文件夹名翻译成中文的情况。同时也可能要批量重命名这些文件夹。今天一起来看下云炫文件管理器如何快速准确翻译文件夹名,进行批量重命名的技巧。 下图是文件夹名翻译前后的效果图。 英文文件夹名批量翻译成中文…

3Dmax快捷键大全,让你的创作飞起来!附赠3dmax工具箱插件,快来收藏吧!

你是否曾经在3Dmax中因为繁琐的操作而感到困扰? 今天,我将为大家带来一份精心整理的3Dmax常用快捷键宝典,让你在建模、材质编辑、动画制作等各个方面都能游刃有余,让你的创作飞起来!! 💡 选择与…

7-1 jmu-python-输入输出-处理不定行输入

7-1 jmu-python-输入输出-处理不定行输入 分数 15 作者 郑如滨 单位 集美大学 处理一段文字(可能有很多行,行数不确定),输出每行包含的单词数(单词之间以空格或多个空格分隔)。 注意:处理的时候要忽略掉空行或者空格行…

27. 深度学习进阶 - 为什么RNN

文章目录 一个柯基的例子为什么RNN or CNN Hi,你好。我是茶桁。 这节课开始,我们将会讲一个比较重要的一种神经网络,它对应了咱们整个生活中很多类型的一种问题结构,它就是咱们的RNN网络。 咱们首先回忆一下,上节课咱…

【计算机网络】TCP|IP协议

目录 前言 什么是TCP/IP协议? TCP/IP协议的层次结构 TCP/IP协议的工作原理 TCP/IP协议的重要性 结语 前言 TCP/IP协议是当今互联网世界中最重要的网络协议之一,它是网络通信的基石,为数据在网络中的传输提供了可靠性和有效性。本文将深…

前段js解决文本框录入保留多位小数设置

自己在前段开发所遇到的问题整理了一下&#xff0c;供大家参考&#xff1a; 原本的代码&#xff1a;<input type"text" class"form-control" id"yfprice" style"text-align:right;" value"0" οnkeyup"valuevalue.…

python编程需要的电脑配置,python编程用什么电脑

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python编程对笔记本电脑配置的要求&#xff0c;python编程对电脑配置的要求有哪些&#xff0c;现在让我们一起来看看吧&#xff01; 学习python编程需要什么配置的电脑 简单的来讲&#xff0c;Python的话普通电脑就可以…

SAP UI5 walkthrough step1 hello word

这里我用的VS Studio 来进行本地化学习 关于SAP UI5是啥&#xff0c;我就不再赘述了&#xff0c;另外还有VS Studio 的安装&#xff0c;请提前做好准备 下面我们直接进入正文 1.首先在你的本地新建一个文件夹&#xff0c;此处我命名为&#xff1a;walkthrough 2.在VS中打开…

​fractions --- 分数​

源代码 Lib/fractions.py fractions 模块支持分数运算。 分数实例可以由一对整数&#xff0c;一个分数&#xff0c;或者一个字符串构建而成。 class fractions.Fraction(numerator0, denominator1) class fractions.Fraction(other_fraction) class fractions.Fraction(flo…

【数据结构与算法】JavaScript实现图结构

文章目录 一、图论1.1.图的简介1.2.图的表示邻接矩阵邻接表 二、封装图结构2.1.添加字典类和队列类2.2.创建图类2.3.添加顶点与边2.4.转换为字符串输出2.5.图的遍历广度优先搜索深度优先搜索 2.6.完整实现 一、图论 1.1.图的简介 什么是图&#xff1f; 图结构是一种与树结构…

正则表达式的规则

文章目录 一、&#x1f94f;正则表达式的简述1、&#x1f9ff;什么是正则表达式2、&#x1f9eb;正则表达式特点 二、&#x1f30a;正则表达式的规则三、&#x1f3af;常用的正则表达式⚛️正则表达式语法 一、&#x1f94f;正则表达式的简述 1、&#x1f9ff;什么是正则表达式…

Java中的反射

反射 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c; Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. 反射相关的概念 2. 反射的…

Thread-Per-Message设计模式

Thread-Per-Message是为每一个消息的处理开辟一个线程&#xff0c;以并发方式处理&#xff0c;提高系统整体的吞吐量。这种模式再日常开发中非常常见&#xff0c;为了避免线程的频繁创建和销毁&#xff0c;可以使用线程池来代替。 示例代码如下&#xff1a; public class Requ…

HarmonyOS4.0从零开始的开发教程12给您的应用添加弹窗

HarmonyOS&#xff08;十&#xff09;给您的应用添加弹窗 概述 在我们日常使用应用的时候&#xff0c;可能会进行一些敏感的操作&#xff0c;比如删除联系人&#xff0c;这时候我们给应用添加弹窗来提示用户是否需要执行该操作&#xff0c;如下图所示&#xff1a; 弹窗是一种…

工作招聘

https://jobs.bilibili.com/social/positions/16978 Java开发工程师&#xff08;交易业务&#xff09; 上海全职技术类2023-11-15 发布 职位描述 工作职责: 1、B站电商平台架构整体设计&#xff0c;B站电商业务高速发展背景下&#xff0c;电商业务中台建设&#xff0c;如商品…

AI全栈大模型工程师(二十八)如何做好算法备案

互联网信息服务算法 什么情况下要备案&#xff1f; 对于B2B业务&#xff0c;不需要备案。 但在B2C领域&#xff0c;一切要视具体情况而定。 如果我们自主训练大型模型&#xff0c;这是必要的。 但如果是基于第三方模型提供的服务&#xff0c;建议选择那些已获得备案并且具有较大…

前端小记--4.前端终止jquery的ajax请求

在项目中&#xff0c;有时需要主动终止数据请求&#xff0c;比如&#xff0c;某个数据请求响应时间比较慢&#xff0c;用户在等待请求的过程中取消请求&#xff0c;但后台服务器仍在执行计算&#xff0c;此时就需要前端主动终止请求&#xff0c;避免资源浪费。 这里以终止jque…

前端打包工具之Webpack5

前端打包工具之Webpack5 什么是打包工具打包工具的作用常见的打包工具一、Webpack1、什么是[webpack](https://webpack.docschina.org/concepts/)2、webpack本身的功能是有限的3、webpack基本使用&#xff1a;基于本身功能只解析JS资源4、webpack配置4.1、entry&#xff08;入口…

Python脚本打包

一.Windows操作系统 Python脚本打包 1.cmd窗口执行如下指令&#xff1a;pip install pyinstaller C:\Users\ZhuQing>pip install pyinstaller2.执行以下指令验证pyinstaller是否安装成功&#xff08;pyinstaller&#xff09; C:\Users\ZhuQing>pyinstaller3.被打包程序…