点到线段的最短矩离 及垂足的计算

在这里插入图片描述
过P做MN的垂线,垂足为Q,若Q在线段MN以内(包括与点M点N重合),则最短距离为垂线段长度,若垂足在MN以外,则最短距离为PM,PN中的较小者。(若P与MN共线,垂线长度为零,同样适用)
所以可由 Q位置判断
若Q在线段MN上 则
∣ M Q ∣ 2 + ∣ Q N ∣ 2 ≤ ∣ M N ∣ 2 \lvert MQ \rvert ^2 + |QN|^2 \leq |MN|^2 MQ2+QN2MN2

所以最小距离可表示为
{ ∣ P Q ∣ | M Q ∣ 2 + ∣ Q N ∣ 2 ≤ ∣ M N ∣ 2 M I N ( ∣ P N ∣ , ∣ P M ∣ ) ∣ M Q ∣ 2 + ∣ Q N ∣ 2 > ∣ M N ∣ 2 \left\{ \begin{array}{lcr} \lvert PQ \rvert & & \text |MQ | ^2 + |QN|^2 \leq |MN|^2 \\\\ MIN(|PN|,|PM|) & & \lvert MQ \rvert ^2 + |QN|^2 \gt |MN|^2 \end{array} \right. PQMIN(PN,PM)|MQ2+QN2MN2MQ2+QN2>MN2

计算垂足
∠ b = ∠ a + 90 ° \angle b = \angle a + 90\degree b=a+90°
tan ⁡ ( b ) = tan ⁡ ( a + π 2 ) = − cot ⁡ ( a ) \tan(b) = \tan (a + \frac {\pi}{2} ) = - \cot(a) tan(b)=tan(a+2π)=cot(a)
MN斜率为k PQ斜率为 -1/k

{ y q − y p x q − x p = − 1 k y = k x + b \left\{ \begin{array}{lcr} \frac { y_q - y_p} { x_q - x_p} = -\frac {1}{k} \\\\ y= kx + b & & \end{array} \right. xqxpyqyp=k1y=kx+b

点Q在MN上求解

{ x q = x p + k y p − k b 1 + k 2 y q = k x p + k 2 k y p + b 1 + k 2 \left\{ \begin{array}{lcr} x_q = \frac { x_p + k y_p - kb}{ 1 + k^2}\\\\ y_q = \frac { k x_p + k^2 k y_p + b}{ 1 + k^2} \\ \end{array} \right. xq=1+k2xp+kypkbyq=1+k2kxp+k2kyp+b

其中
{ b = y m − y n − y m x n − x m x m = x n y m − x m y n x n − x m k = y n − y m x n − x m \left\{ \begin{array}{lcr} b = y _m - \frac { y_n - y_m} { x_n - x_m} x_m = \frac { x_ny_m - x_m y_n} { x_n - x_m} & & \\\\ k = \frac { y_n - y_m} { x_n - x_m} & & \end{array} \right. b=ymxnxmynymxm=xnxmxnymxmynk=xnxmynym

代入 M N P 坐标 可算出 垂足坐标

水平与坚直另分一种情况直接求解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/20555.shtml

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

相关文章

[机器学习] 低代码机器学习工具PyCaret库使用指北

PyCaret是一个开源、低代码Python机器学习库,能够自动化机器学习工作流程。它是一个端到端的机器学习和模型管理工具,极大地加快了实验周期,提高了工作效率。PyCaret本质上是围绕几个机器学习库和框架(如scikit-learn、XGBoost、L…

每天半小时,让大脑变得更聪明

晚上好。 今天的文章,我想跟你分享一套简单又有效的「大脑保健操」。每天只需要很短的时间,就能有效地锻炼和强化你的脑力。 这些都是我践行了许多年的习惯,也有切实的实验和理论基础作为依托。 你不需要每天都完全按照这套模式来执行&#x…

Kafka篇:Kafka搭建、使用、及Flink整合Kafka文档

一、Kafka搭建 1、上传并解压改名 tar -xvf kafka_2.11-1.0.0.tgz mv kafka_2.11-1.0.0 kafka-1.0.0 2、配置环境变量 vim /etc/profile export KAFKA_HOME/usr/local/soft/kafka-1.0.0 export PATH$PATH:$KAFKA_HOME/bin source /etc/profile (使环境变量生效…

机器学习学习

机器学习类型(按学习方式分):监督学习、半监督学习、无监督学习、强化学习; 通过已知标签训练集训练模型,使用模型及逆行预测、测试; 向量表示法,其中每一维对应一个特征(feature)或者称为属性,记为[x1,x2,...,xn] 特征值、特征、标签,共同完成训练集的数据填充,最…

FreeRTOS基础(六):中断管理

在嵌入式系统开发中,中断管理是一个至关重要的概念。它允许我们的系统能够及时响应外部事件,而不需要通过轮询的方式来浪费宝贵的处理器资源。FreeRTOS作为一款广泛应用的实时操作系统,它提供了灵活且高效的中断管理机制,可以帮助…

搭建基于Django的博客系统增加广告轮播图(三)

上一篇:ChatGPT搭建博客Django的web网页添加用户系统(二) 下一篇:搭建基于Django的博客系统数据库迁移从Sqlite3到MySQL(四) 功能概述 增加轮播图显示广告信息。 需求详细描述 1. 增加轮播图显示广告信…

STM32(九):USART串口通信 (标准库函数)

前言 上一篇文章已经介绍了如何用STM32单片机中独立看门狗来实现检测按键点灯的程序。这篇文章我们来介绍一下如何用STM32单片机中USART通信协议来串口通信,并向XCOM发送信息。 一、实验原理 1.通信的介绍 首先,我们先介绍一下通信,何为通…

嵌入式linux系统中图片处理详解

大家好,今天给大家分享一下,嵌入式中如何进行图像处理,常见的处理方式有哪几种?这次将详细分析一下 第一:BMP图形处理方式 图形的基本特点,所有的图像文件,都是一种二进制格式文件,每一个图像文件,都可以通过解析文件中的每一组二进制数的含义来获得文件中的各种信息…

DataCube 漏洞小结

在这里分享一下通过拖取 DataCube 代码审计后发现的一些漏洞,包括前台的文件上传,信息泄露出账号密码,后台的文件上传。当然还有部分 SQL 注入漏洞,因为 DataCube 采用的是 SQLite 的数据库,所以SQL 注入相对来说显得就…

海外高清短视频:四川京之华锦信息技术公司

海外高清短视频:探索世界的新窗口 在数字化时代的浪潮下,海外高清短视频成为了人们探索世界、了解异国风情的新窗口。四川京之华锦信息技术公司这些短视频以其独特的视角、丰富的内容和高清的画质,吸引了无数观众的目光,让人们足…

关于前端代码移动端的适配方案

为什么需要适配? 由于PC端和移动端的分辨率不同,前端展示的页面在两端设备如果原模原样的搬运则会导致PC端或移动端看到的画面相对于其设备的分辨率及其的不合理。 最为常见的是PC端正常浏览的网页没有做移动端适配,由于移动端分辨率普遍低于…

ChaosBlade混沌测试实践

ChaosBlade: 一个简单易用且功能强大的混沌实验实施工具 官方仓库:https://github.com/chaosblade-io/chaosblade 1. 项目介绍 ChaosBlade 是阿里巴巴开源的一款遵循混沌工程原理和混沌实验模型的实验注入工具,帮助企业提升分布式系统的容错能力&…

【CVE-2021-3156】——漏洞复现、原理分析以及漏洞修复

文章目录 前言1、漏洞概述2、漏洞复现2.1、漏洞复现测试环境2.2、漏洞复现具体步骤 3、漏洞原理3.1、前置知识3.1.1、sudo3.1.2、sudoedit3.1.3、转义字符 3.2、漏洞分析 4、漏洞修复5、参考文献总结 前言 2021年01月27日,RedHat官方发布了Sudo缓冲区/栈溢出漏洞的风…

基于SSM前后端分离版本的论坛系统-自动化测试

目录 前言 一、测试环境 二、环境部署 三、测试用例 四、执行测试 4.1、公共类设计 创建浏览器驱动对象 测试套件 释放驱动类 4.2、功能测试 注册页面 登录页面 版块 帖子 用户个人中心页 站内信 4.3、界面测试 注册页面 登录页面 版块 帖子 用户个人中心页…

【Qt秘籍】[005]-Qt的首次邂逅-创建

一、如何创建文件? 当我们打开Qt Creator,你会发现整个界面类目繁多。现在,让我们直接开始新建一个项目。 1.点击左上角的“文件”>点击“新建文件或项目” 2.如图,选择“Application”>“Qt Wifgets application”> “…

奇偶校验位

描述 题目描述: 现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果(1输出奇校验,0输出偶校验) 信号示意图: 波形示意图: 输入描述: 输入信号 bus sel 类型 wi…

rust安装

目录 一、安装1.1 在Windows上安装1.2 在Linux下安装 二、包管理工具三、Hello World3.1 安装IDE3.2 输出Hello World 一、安装 1.1 在Windows上安装 点击页面 安装 Rust - Rust 程序设计语言 (rust-lang.org),选择"下载RUSTUP-INIT.EXE(64位)&qu…

2021JSP普及组第三题:插入排序

2021JSP普及组第三题 题目: 思路: 题目要求排序后根据操作进行对应操作。 操作一需要显示某位置数据排序后的位置,所以需要定义结构体数组储存原数据的位置和数据本身排序后所得数据要根据原位置输出排序后的位置,所以建立一个新…

Linux网络编程:应用层协议|HTTPS

目录 1.预备知识 1.1.加密和解密 1.2.常见加密方式 1.2.1.对称加密 1.2.2.非对称加密 ​编辑 1.3.数据摘要(数据指纹)和数据签名 1.4.证书 1.4.1.CA认证 1.4.2.证书和数字签名 2.HTTPS协议 2.1.自行设计HTTPS加密方案 2.1.1.只使用对称加密 …

构建企业级AI私有知识库

一、引言 在当今竞争激烈的市场环境中,企业为了保持竞争优势,需要高效地管理和利用内部知识资源。构建一个企业级AI私有知识库,不仅可以集中存储和管理企业知识,还能通过人工智能技术实现知识的智能化处理和利用。本文将详细介绍…