1

现在的情况:

  • 每次都重写 C 代码以进行几乎相同类型的模拟(小鼠的学习行为)
  • 为每个模拟编写 Matlab 代码以绘制结果(2D,可能是 3D 图)

这是我的目标:

  • 设计允许我构建动态模拟器的 GUI (wxPython)
  • GUI 还通过 OpenGL(或者可能是 Matplotlib)显示模拟结果
  • 使用 C 包装器 (CFFI) 运行模拟并将结果(平均值)发送到 OpenGL 或 Matplotlib

问题:

  • 为了让这个软件尽可能高效地运行,对我来说应该使用 CFFI 来运行模拟是有意义的……我不确定是否拥有该 FFI 实例(或单独一个?)使用 OpenGL C 绑定来完成所有图形工作并将生成的图形传递给 Python 层以在 GUI 中显示,或者让 CFFI 将模拟的平均值(被绘制的数据)发送到变量Python 级别并使用 PyOpenGL 或 Matplotlib 绘制图形。
4

1 回答 1

1

了解模拟运行的周转时间以及您希望显示和更新图表的速度会有所帮助。或多或少是实时的,每个几十毫秒?秒?分钟?

如果你想绘制图表,我会推荐 Matplotlib 而不是 OpenGL。即使自己破解 Matplotlib 代码以使其完全按照您的意愿进行操作,也可能仍然比在 OpenGL 中进行操作更容易。而且 Matplotlib 也有“XKCD”风格的图表 :-)

PyOpenGL 与 wxPython 配合得很好。现代 3D 中的大部分繁重工作都是由 GPU 完成的,所以如果你决定走这条路,用 C 而不是 Python 做 3D 图形可能不值得。

希望这可以帮助。

于 2014-05-26T00:55:59.067 回答