1

Is there a C++ graphing library that can display visual graphs (such as hyperbolas and parabolas and linear equations) based on the equation it is given and that is cross platform? Or am I just asking for too much...

4

4 回答 4

1

MathGL具有表达式解析器,可以绘制文本公式指定的函数(包括许多特殊函数)。您还可以创建数据集,通过公式填充它并绘制间接函数(如椭圆,a*x^2+b*x^2=1)。

于 2011-01-25T19:09:22.927 回答
1

看看Qt。它可能具有一些图形功能。还有gnuplot。它非常广泛,因此对于您的需求来说可能有点太复杂了。它是跨平台的,并且有一个 C++ API。

于 2010-05-22T05:25:19.457 回答
0

如果您只对最终输出感兴趣,而不是事物的编程方面;您可能想尝试与 gnuplot ( http://www.gnuplot.info/ ) 之类的东西进行交互。

如果您对更多内容感兴趣,我建议您查看他们的“链接”页面。这提供了一堆接口库和重新实现(据我所知,主要用于非 C 语言)。

希望有帮助。

于 2010-05-22T06:03:43.543 回答
0

让我们一步一步来回答你的问题。

  1. “基于给定的方程式”这将需要您编写表达式解析器;如果您不编写程序来执行此操作,C++ 无法“即时”解释方程式。为此,我建议您查看Bison(直接查看示例 RPN calc 以了解想法)。

  2. 对于库,您可以获得任何用于 C++ 的 GUI 工具包;有几十个;QT的推荐可能是最诚实的。也检查维基百科。您需要任何可以为您提供画布的工具包,您可以在其中绘制渲染线条或样条线。这不是微不足道的,但也不难。

您的程序可能会按如下方式工作:

  1. 获取数学表达式(或已知函数的参数;如椭圆的轴和中心)。
  2. 生成一组点(这是通过 C++ 中的循环完成的)
  3. 打包这些点并将它们发送到工具包的绘制渲染方法(使用适当的缩放/标准化

同样,这不是微不足道的,但也不困难。

你正在重新发明轮子,但我为此赞扬你。

干杯,

J。

于 2010-05-22T05:32:32.107 回答