2009-12-27 36 views
4

我在iPhone編程方面有經驗,但在圖形編程方面並不真實。在Quartz中繪製一個公式

我決定製作2D遊戲,併爲此選擇Quartz 2D(我熟悉OpenGL,但石英似乎更容易2D遊戲)。

有沒有一種內置的方式來繪製Quartz中的數學公式圖形?開始時它只是一個拋物線(y = ax^2 + bx + c),但方程本身在未來會變得更加複雜。

如果我用我自己的算法(從單獨的線條或點)繪製拋物線,它可能會很慢。

預先感謝您。

回答

5

你可以計算出你想渲染方程的一些離散採樣。
根據您提供的樣本數量,您的圖形看起來很平滑或呈多邊形。

This blog post描述瞭如何呈現Mac OS X應用程序的波形。
由於作者正在使用Quartz,並且您可能可以調整他的方法來解決您的問題。
博客文章使用方便的CGPathAddLines()方法從點數組創建路徑。
如果你想構建一塊你的路徑一塊,你可以使用一些下面的方法:

CGMutablePathRef path = CGPathCreateMutable(); 
CGPathMoveToPoint(path, ...); 
CGPathAddLineToPoint(path, ...); 
CGPathAddArc(path, ...); 
CGPathCloseSubpath(path); 
0

這裏沒有內置Quartz的東西;你必須用數學分別繪製每個點。

2

對於繪製任意數學表達式,可以使用Graham Cox的GCMathParser來獲取包含該表達式的NSString並評估該表達式的各種值。然後您可以使用Core Plot(如Jasarien所建議)來創建這些值的圖表。實際上,我有一個示例應用程序可以做到這一點,我將很快添加到該項目中。

相關問題