用于绘制图形的C ++库

时间:2011-02-23 18:45:26

标签: c++ math graphics drawing 2d

有人可以建议我一个好的,免费的,易于使用的c ++库,允许在微软窗口的窗口中绘制数学函数吗? (例如,抛物线x ^ 2 + 5x + 3 = 0)

8 个答案:

答案 0 :(得分:16)

由于您需要现成的绘图小部件,请使用Qwt

它使用Qt。

你可以直接使用Qt作为contero的答案,没有Qwt,因为任务很简单。但是,Qwt内置了许多图形功能,使用非常简单。

plot

答案 1 :(得分:5)

我使用Qt编写了一个与此类似的程序。一旦你设置它,Qt就很棒了,但是如果你从未使用过它可能需要一些努力(就像OpenGL,DirectX等......)。

您可以创建一个QImage并将其设置为您想要的任何背景颜色,然后通过图像的宽度逐个像素调用您的函数来运行程序以获取y值。大致是:

for (int i = 0; i < imageWidth; i++) {
   image->setPixel(i, yourFunction(i), lineColor);
}

创建QImage后,可以使用setPixmap()将其附加到QLabel。一旦你附上它,你就可以在布局中显示图像。

答案 2 :(得分:4)

另一个选项是基于wxMathPlotwxWidgets 从它的网站:
wxMathPlot主要特点:

  • 完全由鼠标驱动的视图控件:平移,缩放,滚动,框 定位。
  • 印刷课程。
  • 截图保存绘图窗口(BMP,PNG和JPEG格式)。
  • 使用图例或鼠标坐标显示覆盖可移动框。
  • 可以设置边距以避免绘制图表以覆盖轴标签。
  • 灵活的轴定位
  • 从STL矢量,可移动物体,协方差椭圆,位图等直接绘制数据的一系列有用层。
  • 多平台:wxWidgets随处可见。

答案 3 :(得分:2)

另一个基于wxWidgets的选项是wxArt2D,它有很多用于绘制数学函数作为曲线的好功能,就像你可以很容易地传递这个 y = 140 * cos(x / 20)+ 80 * cos(x * 2/20)+ 40 * cos(x * 4/20)“一个曲线对象,它将被绘制,这太神奇了! 看看这些screenshots有些曲线是用 string 格式绘制的!

答案 4 :(得分:1)

您提到了您的语言(C ++)和平台(Windows),但是有可用于编写Windows C ++应用程序的框架:Qt,MFC,C ++ Builder ...此外,C和C ++几乎可以与任何东西进行交互。因此,您决定使用哪个绘图库取决于您使用的UI框架以及您愿意介绍的外部接口或依赖项:

答案 5 :(得分:0)

如果您使用的是Vista / 7,也可以使用GDI / +,OpenGL,Direct3D,Direct2D。那里有很多。

答案 6 :(得分:0)

绝对gnuplot,以及库gnuplot ++

答案 7 :(得分:0)

我创建了一个绘制图形的工具,并在几个小时前发布了它。

https://www.youtube.com/watch?v=xD080qQVaD8&feature=youtu.be

https://github.com/burlachenkok/plotter_plusplus

要使用此工具,您可以使用台式计算机显示图形。

您的目标项目可以在任何平台的任何语言中运行 - 更新图形只需通过网络发送数据。