我在iPhone编程方面有经验,但在图形编程方面却没有。
我决定制作一个2D游戏并选择Quartz 2D用于此目的(我熟悉Open GL,但石英对于2D游戏来说似乎更容易)。
是否有内置的方法在Quartz中绘制数学公式的图形?开始时它只是一个抛物线(y = ax ^ 2 + bx + c),但方程本身将来会变得更加复杂。
如果我使用自己的算法(从单独的线或点)绘制抛物线,可能会很慢。
提前谢谢。
答案 0 :(得分:5)
您可以计算要渲染的方程的一些离散样本 根据您提供的样本数量,图表看起来会是平滑的或多边形的。
This blog post介绍了如何为Mac OS X应用程序渲染波形 由于作者正在使用Quartz,您可以根据自己的问题调整自己的方法 博客文章使用方便的CGPathAddLines()方法从点数组创建路径 如果您想逐个构建路径,可以使用以下某些方法:
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, ...);
CGPathAddLineToPoint(path, ...);
CGPathAddArc(path, ...);
CGPathCloseSubpath(path);
答案 1 :(得分:2)
使用像CorePlot框架这样的东西呢?
答案 2 :(得分:2)
为了绘制任意数学表达式,您可以使用Graham Cox的GCMathParser来获取包含表达式的NSString,并为各种值计算该表达式。然后,您可以使用Core Plot(由Jasarien建议)创建这些值的图表。事实上,我有一个示例应用程序就是这样,我将很快添加到项目中。
答案 3 :(得分:1)
Quartz使用Bezier curves
答案 4 :(得分:0)
为此,Quartz没有内置任何东西;你必须使用数学单独绘制每个点。