一系列线段的最佳交集?

时间:2012-11-14 13:19:26

标签: algorithm math geometry computational-geometry

我有许多2D线段,它们都应该在一个点上相交,但不会因为计算中较早的噪声而无法减少。

是否有算法计算所有线段交叉点的最佳近似值。类似于所有线段的最小平均距离点不一定位于任何线段上的点?

2 个答案:

答案 0 :(得分:3)

阿米特的第一个评论是你的回答。我会解释原因。

p_i成为你的交点和c = 1/n sum(p_i)。我们假设c最小化d(a)和任意点p_i之间的平均距离a

d(a) = 1/n sum( |a-p_i|^2 )  

d(a)中的平均值是,使用内积标记,

|a-p_i|^2 = <a-p_i, a-p_i> = |a|^2 + |p_i|^2 - 2<a,p_i>`

使用点积的双线性属性,<a,p_i>的平均值仅为<a,c>。所以,

d(a) = |a|^2 - 2<a,c> + 1/n sum( |p_i|^2 )

同样

d(c) = |c|^2 - 2<c,c> + 1/n sum( |p_i|^2 ) = -|c|^2 + 1/n sum( |p_i|^2 )

减去两个

d(a) - d(c) = |a|^2 - 2<a,c> + |c|^2 = |a-c|^2

因此,向两边添加d(c),到任意点a的平均距离为

d(a) = d(c) + |a-c|^2

,因为当|a-c|^2为零时,所有术语都是正数,换句话说,当a = c时。{/ p>

答案 1 :(得分:0)

如果我们可以自由选择指标,则平方距离之和可以提供简单的算法。

我们可以将点#i的距离的平方表示为点坐标的函数,我们将得到(A[i]x,x)+(b[i],x)+c[i]A[i]是矩阵3x3,b[i] - 向量,{{1数字,(a,b) - 标量乘法。

他们的总和将是c[i]

此类功能的最小值为(A[sum]x,x)+(b[sum],x)+c[sum]