3-d情况的解决方案可以找到这里;我想得到广义的版本。Mathworld算法没有简单的推广,因为交叉积只定义了3维和7维,所以我理解。
发布于 2012-10-11 23:10:11
用单个参数t的函数表示这条线,称之为X(t)。
从点P到线X(t0)上的点的距离仅为u(t) =x_ X(t0) -P\x,你实际上不需要做平方根。
现在找出使u(t)最小化的t值。从第一学期微积分的标准方法是形成导数du/dt,将其设置为零,并求解t。
如果这条线实际上是一条直线,你将得到一个解。如果这条线是一条曲线,你可能会得到很多的解,你必须查看所有的解,才能找到实际的最小值。
发布于 2012-10-11 23:03:47
该算法是将点与线之间的距离降到最小。
这条线是一组点。写出一个方程来表示给定点到直线中每个点之间的距离--它将类似于d = sqrt((a1 - b1)^2 + (a2-b2)^2 + ... + (an-bn)^2)。
现在把这个方程最小化。
与其自己实现这个算法,我建议您用所选择的语言为线性方程组找到一个库。我听说过JAMA (用于Java),但我从来不需要这么做,所以还没有对它进行研究。
https://softwareengineering.stackexchange.com/questions/168572
复制相似问题