math - 查找最近的线及其 x,y 位置
解决方案
您需要将点 E 投影到直线 AB 上,确定该投影是否在 AB 段的范围内,并找到投影点的垂线长度。CD 段也一样。
求投影点,得到 AB 和 AE 的方向向量
AB = (B - A)
AE = (E - A)
并使用的标量积查找参数
t = (AB * AE) / (AB * AB)
如果 t 不在 0..1 范围内,则段的最近点是端点之一。否则找到投影点和投影长度
P = A + AB * t
Len = length(E - P)
推荐阅读
- php - PHP:解析文本行以获取其单词作为参数
- c# - Socket 连接的 Xunit 测试功能(ModbusTCP/IP)
- unity3d - Unity:无法从 HDR 显示器获取信息。此项目的播放器设置中未启用 HDR
- java - 滑动后如何在 RecyclerView 中向后滑动项目
- reactjs - Material UI TreeView 递归渲染是如何工作的?
- django - 如何在 Django 中使用 Ajax 更改图像 url
- cryptocurrency - 请解释同一个钱包中同一个硬币的同时进出交换
- javascript - React Component 不会以父组件的给定状态呈现
- django - 我提出了两个验证错误,但如果其中任何一个被触发,它总是给我相同的验证错误输出
- kotlin - 如何在 tornadofx imageview 中显示新图像?