有没有C ++图形库?

时间:2010-05-22 05:21:16

标签: c++ cross-platform graphing

是否有一个C ++图形库可以根据给出的方程式显示可视图形(如双曲线,抛物线和线性方程),这是跨平台的?或者我只是要求太多......

4 个答案:

答案 0 :(得分:1)

看看Qt。它可能有一些图形功能。还有gnuplot。这是非常广泛的,所以它可能有点太复杂,不能满足您的需求。它是跨平台的,并且有一个C ++ API。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

让我们一步一步地提出你的问题。

  1. “基于它给出的等式”这将要求你编写一个表达式解析器;如果没有编写程序,C ++就无法“动态”解释方程式。为此,我建议您查看Bison(直接进入示例RPN计算以获得想法)。

  2. 对于库,您可以获得任何用于C ++的GUI工具包;有几十个;对QT的建议可能是最诚实的。另请查看Wikipedia。您需要任何工具包,它将为您提供画布,您可以在其中绘制渲染线条或样条线。这不是微不足道的,但也并不困难。

  3. 您的程序可能会如下工作:

    1. 获取数学表达式(或已知函数的参数;如椭圆的轴和中心)。
    2. 生成一组点(这是通过C ++中的循环完成的)
    3. 打包这些点并将它们发送到工具包的 paint render 方法(使用适当的缩放/规范化
    4. 同样,这不是微不足道的,但也不困难。

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

      干杯,

      学家

答案 3 :(得分:0)

如果您感兴趣的是最终输出,而不是编程方面;你可能想尝试与gnuplot(http://www.gnuplot.info/)接口。

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

希望有所帮助。