簡體   English   中英

一系列線段的最佳交集?

[英]Best intersection of a collection of line segments?

我有許多2D線段,它們都應該在一個點上相交,但不會因為計算中較早的噪聲而無法減少。

是否有算法計算所有線段交叉點的最佳近似值。 類似於所有線段的最小平均距離點不一定位於任何線段上的點?

阿米特的第一個評論是你的回答。 我會解釋原因。

p_i為交點, c = 1/n sum(p_i) 讓我們假設c最小化p_i和任意點a之間的平均距離d(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

|ac|^2為零時,換句話說,當a = c時,由於所有項都是正的,所以最小化。

如果我們可以自由選擇度量,則平方距離的總和可以給出簡單的算法。

我們可以將線#i的距離的平方表示為點坐標的函數,我們將得到(A[i]x,x)+(b[i],x)+c[i]A[i]是a矩陣3x3, b[i] - 向量, c[i] - 數,(a,b) - 標量乘法。

它們的和將是(A[sum]x,x)+(b[sum],x)+c[sum]

這種函數的最小值是x=-inverse(A[sum])b[sum]/2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM