我有 iPhone 编程的经验,但在图形编程方面却没有。

我决定制作一个 2d 游戏并为此选择 Quartz 2D(我熟悉 Open GL,但 Quartz 似乎更适合 2d 游戏)。

有没有内置的方法可以在 Quartz 中绘制数学公式的图表?一开始它只是一个抛物线(y=ax^2+bx+c),但方程本身将来会变得更加复杂。

如果我使用自己的算法(从单独的线或点)绘制抛物线,可能会很慢。

先感谢您。

有帮助吗?

解决方案

您可以计算要渲染方程的一些离散样本。结果 这取决于你有多少样本提供您的图形会看起来光滑或多边形。

本博客文章介绍如何渲染波形在Mac OS X应用程序。点击 由于笔者使用的石英,你或许能适应他的你的问题的办法。结果 博客文章使用便利CGPathAddLines()方法来创建从一个点阵列的路径。结果 如果你想构建一块你的路径一块,你可以使用一些下面的方法:

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

其他提示

怎么样使用类似的 CorePlot 框架?

有关标绘的任意数学表达式,可以使用格雷厄姆考克斯的 GCMathParser 以采取在的NSString含有表达和评估各种值的表达。然后,您可以使用核心情节(由Jasarien的建议)创建的图表这些值。事实上,我只是这样做,我将很快加入到项目中的示例应用程序。

石英用途 贝塞尔曲线

有什么内置于石英此;你必须单独绘制每个点使用数学。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top