在 Quartz 中绘制方程
-
21-09-2019 - |
题
我有 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的建议)创建的图表这些值。事实上,我只是这样做,我将很快加入到项目中的示例应用程序。
石英用途 贝塞尔曲线
有什么内置于石英此;你必须单独绘制每个点使用数学。
不隶属于 StackOverflow