Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 用石英绘制方程_Iphone_Cocoa Touch_Quartz 2d - Fatal编程技术网

Iphone 用石英绘制方程

Iphone 用石英绘制方程,iphone,cocoa-touch,quartz-2d,Iphone,Cocoa Touch,Quartz 2d,我有iPhone编程的经验,但不是真正的图形编程 我决定制作一个2d游戏,并为此选择Quartz 2d(我熟悉OpenGL,但Quartz似乎更适合2d游戏) 有没有一种内置的方法可以用石英绘制数学公式的图形?首先,它将只是一条抛物线(y=ax^2+bx+c),但方程本身在未来将变得更加复杂 如果我使用自己的算法(从单独的线或点)绘制抛物线,可能会非常慢 提前感谢您。石英没有内置任何功能;您必须使用数学分别绘制每个点。Quartz使用您可以计算要渲染的方程的一些离散样本。 根据您提供的示例数量,

我有iPhone编程的经验,但不是真正的图形编程

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

有没有一种内置的方法可以用石英绘制数学公式的图形?首先,它将只是一条抛物线(y=ax^2+bx+c),但方程本身在未来将变得更加复杂

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


提前感谢您。

石英没有内置任何功能;您必须使用数学分别绘制每个点。

Quartz使用

您可以计算要渲染的方程的一些离散样本。
根据您提供的示例数量,您的图形将看起来平滑或多边形

描述如何为Mac OS X应用程序呈现波形。
由于作者正在使用Quartz,您可能可以根据您的问题调整他的方法。
博客文章使用方便的CGPathAddLines()方法从点阵列创建路径。
如果您想逐段构建路径,可以使用以下一些方法:

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

使用类似于框架的东西怎么样?

对于绘制任意数学表达式,您可以使用Graham Cox's获取包含表达式的NSString,并计算该表达式的各种值。然后可以使用(正如Jasarien所建议的)创建这些值的图形。事实上,我有一个示例应用程序就是这样做的,我将很快添加到项目中