
vc++ 求点到直线的最短距离及垂足
发布日期:2021-05-10 00:56:52
浏览次数:14
分类:精选文章
本文共 1275 字,大约阅读时间需要 4 分钟。
???????
???????????? $(x_1, y_1)$ ? $(x_2, y_2)$???????????????????????
??????? $k$ ??????? [ k = \frac{y_2 - y_1}{x_2 - x_1} ] ? $x_1 = x_2$ ??????????????? 10000????????????
??????????????? [ y - y_1 = k(x - x_1) ] ?????? [ y = kx - kx_1 + y_1 ] ????????? $Ax + By + C = 0$? [ kx - y + (y_1 - kx_1) = 0 ] ????????? [ A = k, \quad B = -1, \quad C = y_1 - kx_1 ]
???????
?????????? ??? $(x_0, y_0)$????? $Ax + By + C = 0$ ??? $d$ ?? [ d = \frac{|Ax_0 + By_0 + C|}{\sqrt{A^2 + B^2}} ]
?????????? $P(p_x, p_y)$??? [ p_x = \frac{B(Bx_0 - Ay_0) - AC}{A^2 + B^2} ] [ p_y = \frac{A(-Bx_0 + Ay_0) - BC}{A^2 + B^2} ]
????
function getDistanceP2L(point, line) { const x1 = line.startPoint.x; const y1 = line.startPoint.y; const x2 = line.endPoint.x; const y2 = line.endPoint.y; const x0 = point.x; const y0 = point.y; // ??????????? const k = x1 === x2 ? 10000 : (y2 - y1) / (x2 - x1); const a = k; const b = -1; const c = y1 - k * x1; // ???? const d = Math.abs(a * x0 + b * y0 + c) / Math.sqrt(a * a + b * b); // ?????? const px = (b * b * x0 - a * b * y0 - a * c) / (a * a + b * b); const py = (a * a * y0 - a * b * x0 - b * c) / (a * a + b * b); return [d, new Point(px, py)];}
?????????????????????????????????
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月13日 17时46分33秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于 HTML5 WebGL 的污水处理厂泵站自控系统
2019-03-06
java _this关键字的用法
2019-03-06
代码荣辱观-以运用风格为荣,以随意编码为耻
2019-03-06
SpringBoot启动原理
2019-03-06
[系列] Go gRPC 调试工具
2019-03-06
django-表单之模型表单渲染(六)
2019-03-06
c++之程序流程控制
2019-03-06
一位年轻而优秀的.NET开发者的成长点滴
2019-03-06
如何使用ABP进行软件开发(1) 基础概览
2019-03-06
第三周总结
2019-03-06
Spark学习之SparkStreaming
2019-03-06
AlwaysOn配置时在连接步骤时报错(35250)
2019-03-06
排序算法之总结
2019-03-06
微软云Linux服务器 Mysql、tomcat远程连接错误解决办法
2019-03-06
Java基础知识回顾之六 ----- IO流
2019-03-06
React 函数式组件的 Ref 和子组件访问(useImperativeHandle)
2019-03-06
Python数据分析(二): Numpy技巧 (2/4)
2019-03-06
09 . Python3之常用模块
2019-03-06
Python学习笔记-StatsModels 统计回归(3)模型数据的准备
2019-03-06
Velocity.js初步
2019-03-06