【发布时间】:2011-07-26 00:30:16
【问题描述】:
我想绘制函数图,例如 y = sin(x) 和 y = cos(x)。如何在不绘制每个点(x,sin(x))的情况下绘制它? Cocoa 中是否有任何类/方法可以做到这一点?
【问题讨论】:
标签: objective-c cocoa
我想绘制函数图,例如 y = sin(x) 和 y = cos(x)。如何在不绘制每个点(x,sin(x))的情况下绘制它? Cocoa 中是否有任何类/方法可以做到这一点?
【问题讨论】:
标签: objective-c cocoa
Cocoa 中没有绘制函数输出的内置功能。 Core Plot 库是领先的数值绘图工具包,但它仅提供数据驱动的绘图,而不提供函数驱动的绘图。光栅化(将函数转换为离散图)是一个不平凡的问题。正如其他人指出的那样,您希望研究某种形式的插值并对决定 哪些 点进行绘图的方案进行一些研究,以便输出看起来对人类观察者来说是“正确的”。同样,这不是一项微不足道的任务。我相信Numerical Recipes 是一个不错的起点。
【讨论】:
您可以使用cubic or quadratic Bezier curves 插入离散点。 Quartz2D 很好地支持贝塞尔曲线。
本文更深入地探讨了math of interpolation,它不是以 OS X 为中心,也不是以 iOS 为中心,但数学只是跨平台。
【讨论】: