给出一条线并给出一堆点。我必须找到一个在线点,与给定点的距离总和最小。 我无法在c 中找到任何算法。请提前帮助,谢谢。
答案 0 :(得分:5)
不失一般性,线是X轴(否则旋转整个几何体)。然后你想最小化
Sum √[(X - Xk)² + Yk²]
你可以通过取消一阶导数
来做Sum (X - Xk)/√[(X - Xk)² + Yk²] = 0
不幸的是,这是一个需要数值方法的非线性方程。
作为起始近似值,您可以使用平方距离之和的最小值
Sum [(X - Xk)² + Yk²]
通过解决
Sum (X - Xk) = 0
简单地给出了(X*, 0)
点X*
是平均横坐标。