2011-07-19 30 views
0

我在爲ios開發學習石英。我想寫一個圖表類來繪製光滑的曲線,我只能知道運行時有多少個點。請給我一些解決方案來實現這一點。如何在iphone中繪製平滑曲線,而我只能在運行時獲得所有點?

現在我使用UIBeizerPath,但是我無法很好地使用控制點,其中有非常明顯的角落。

感謝和問候。

+0

我的意思是我不想在曲線中出現太明顯的拐角。 – shashoukou

+0

看看這個答案,我認爲它有你想要什麼 http://stackoverflow.com/questions/4672646/drawing-bezier-curves-with-my-finger-in-ios –

回答

1

要計算貝塞爾曲線中的控制點,請從實際點開始繪製虛擬線,該實際點位於您希望創建的曲線的切線處。

考慮駕駛汽車時錯過彎道。汽車直行,曲線做曲線。控制點(汽車)距實際點的距離決定曲線的數量。

此答案的原料原則回答您的問題

how can i trace the finger movement on touch for drawing smooth curves?

但是儘量貝塞爾曲線平滑和插值研究C和C++代碼,如果你不想自己烘烤。您可以在Objective C項目中使用任何C或C++。

好運

+0

我得到這個通過讀取三次樣條插值算法來解決問題。任何遇到此問題的人都可以看到:http://en.wikipedia.org/wiki/Spline_interpolation。我建議你使用自然三次樣條插值,它將點0和點n的二階導數設爲0.對於沃倫伯頓,非常感謝,我從你建議的鏈接中得到了很好的參考。 – shashoukou