5

過去幾天,我花費在搜索曲線重建實現上,沒有發現 - 不是作爲庫或作爲工具。曲線重構實現

描述我的問題。

我最關心的是輪廓與差距: img

從報紙,我在此期間閱讀,我猜解決方案將需要Delaunay三角的使用,並且引用最多的方法似乎在1997年紙描述「The Crust and the β-Skeleton: Combinatorial Curve Reconstruction

有人可以指向我的曲線重構實現,可以幫助我解決這個問題嗎?

+1

雖然您已經選擇了一個答案,但如果問題仍然存在,請搜索「曲線完成」和「輪廓完成」,這些可能會給您更多點擊。對於這類問題,歐拉螺旋線是一個很好的擬合,因爲即使存在大的間隙,歐拉螺旋線完成算法也可以給出「自然」擬合。 – Rethunk 2013-04-07 03:49:17

+0

謝謝@Rethunk。我瀏覽了一些關於這個主題的論文,看起來它適合於單曲線重建,而非輪廓重建。你可能知道它是否在一些圖書館或環境中實現,以便於測試嗎? – theta 2013-04-08 03:01:03

+1

大約一年前,我發現了一些資源,包括一些C++代碼。我在這裏發佈鏈接:http://stackoverflow.com/questions/6828359/how-to-draw-clothoids-graphically-in-qt/8890013#8890013 – Rethunk 2013-04-09 12:20:01

回答

1

在CGAL實現算法。 CGAL ipelets演示包中的C++中可以看到示例實現。更編譯演示,讓用戶在ipe GUI application應用算法:

img

在上面的例子中,我選擇只是我的形象的一部分,作爲底線沒有達到所需要求,所以殼不能適用於該部分直到糾正。此外,圖像必須被採樣,可以注意到。

如果沒有人提供另一個實現示例,那麼在幾天後我會將我的答案標記爲正確。

0

德洛奈三角測量法使用離散曲線,並丟失信息。這可能會導致奇怪的問題,你不指望他們。在你的例子中,下邊界上的中間部分可能會導致問題。

在這種情況下,從模型收集相關信息並嘗試進行匹配可能會很好。

類似的,對於每個端點收集鄰域中的輪廓導數。比找出可以連接端點的所有端點,具有近似的微分方向,並且該關節不會穿過其他線。可以通過聯合距離和偏離局部導數來給予可能的連接權重。賦予權重定義可能的終點連接的加權圖。該圖中的最大邊緣匹配可以很好地解決問題。

+0

Delaunay三角測量以可接受的精度關閉輪廓。 Crust算法僅提取缺失的部分。正如紙上所證明的。 – theta 2013-03-03 10:16:04

0

有很多方法可以解決這個問題;

你可以簡單地寫出一條符合曲線的蠕蟲,當你到達一條曲線的末端時,你將當前的方向矢量與梯度一起向外推。找出最適合的所有其他端點,然後對它們進行評分;重新與最高分的人重新聯繫。如果它不僅僅是一個簡單的分手,而且很容易出現問題。

A hierarchical waterfall method might be interesting

有在瀑布閾的方法(和水平集方法),可以用於檢測這些間隙和在填充它們。

+0

我讀過幾種連接方式,但用地殼算法關閉它報告爲最準確的拓撲輪廓。 – theta 2013-03-03 10:12:15