Geometry 两条(垂直)线之间的交点

Geometry 两条(垂直)线之间的交点,geometry,trigonometry,geometry-surface,Geometry,Trigonometry,Geometry Surface,假设有一条无限长的线,定义为y=z*x,我怎样才能找到这条线中距离任何给定坐标最近的点?从技术上讲,我寻求初始线与其在给定坐标上通过的垂线之间的交点。设x,zx为给定线上的点,u,v为外部点 平方距离为 (x - u)² + (zx - v)² = (z² + 1) x² - 2 (u + zv) x + u² + v² 这个二次表达式的最小值是通过 x = (u + zv) / (z² + 1) 给你点在直线上的正交投影。几周前我做了一个直线交点样本。你可以试试: 我找到了检查线段之间可能

假设有一条无限长的线,定义为y=z*x,我怎样才能找到这条线中距离任何给定坐标最近的点?从技术上讲,我寻求初始线与其在给定坐标上通过的垂线之间的交点。

设x,zx为给定线上的点,u,v为外部点

平方距离为

(x - u)² + (zx - v)² = (z² + 1) x² - 2 (u + zv) x + u² + v²
这个二次表达式的最小值是通过

x = (u + zv) / (z² + 1)

给你点在直线上的正交投影。

几周前我做了一个直线交点样本。你可以试试:


我找到了检查线段之间可能存在交点的库,但我想找到一个更简单的公式,因为我知道交点存在。y=z*x不是直线,而是直纹曲面。设置一个平面,例如z=k给出了一条直线,问题变成了一个2D案例,非常有文档记录。看起来像是两段相交。我的实现中有些问题不起作用:@Nuthinking当我将你的代码改为yx依赖而不是奇怪的混合时,它变成了needed@MBo你有叉子吗?