我想在iphone中平滑一些手畫線條。 我已經使用以下代碼中 http://webdocs.cs.ualberta.ca/~graphics/books/GraphicsGems/gems/FitCurves.c平滑貝塞爾曲線
但是,我發現,一些貝塞爾曲線是錯誤的,第二個控制點和結束點是無效的。 以前有人有過同樣的問題嗎? 謝謝。
我想在iphone中平滑一些手畫線條。 我已經使用以下代碼中 http://webdocs.cs.ualberta.ca/~graphics/books/GraphicsGems/gems/FitCurves.c平滑貝塞爾曲線
但是,我發現,一些貝塞爾曲線是錯誤的,第二個控制點和結束點是無效的。 以前有人有過同樣的問題嗎? 謝謝。
貝塞爾曲線沒有設計去到提供的頂點! 它們被設計成通過控制點形成受影響的的平滑曲線。
首先,你必須決定是否要失分, 之間進行插值,或者如果您要過濾非平穩的數據:
過濾
你應該看看「滑動平均值」用小平均窗口。 (嘗試5 - 10像素)。 這種工作方式如下:(找維基進行了詳細的描述)
我在這裏使用的10個點的平均窗口:
開始由平均分0的計算 - 9,和輸出其結果作爲結果點0
然後計算點1 - 10的平均值並輸出,結果爲1
等等。
插值 如果你想使用平滑的曲線(失蹤)點之間進行插值,可以使用一塊 - 智者三次樣條:
您可以通過3個頂點計算立方多邊形的係數。 您可以通過以下方法計算三次多邊形:
Point [0] - Point [2],但您僅從Point [0]到Point [1]繪製輸出。
然後你移動一步:並通過
計算Point [1] - Point [3],但是你只能從p1到p2繪製。 依此類推。
您需要在wiki上搜索三次插值,以獲得詳細解釋如何計算三次多邊形(有時稱爲三次樣條)。
你必須更具體。舉個例子。 –
請參閱[這個答案](http://stackoverflow.com/questions/7211719/curve-fitting-a-series-of-line-segments/7211779#7211779)。 –