python三维可视化和图形



我正在寻找与Python兼容的3D图形。大多数情况下,我希望能够绘制线条并在3D中查看它们。我确实没有这方面的经验,正在寻找知识和教程。

我通过实验来学习编程。那么,我需要哪些软件包来制作三维图形呢?我真的很喜欢使用emacs,所以如果你也有这些建议,那就太棒了!

总结:

  1. python中的3D图形需要哪些包
  2. 注意,我使用的是Ubuntu 12.04 LTS和emacs 24.3

在Python中实现3D可视化的最简单方法是VPython。

例如,要画一条正方形的曲线,它只是:

square = curve(pos=[(0,0),(0,1),(1,1),(1,0),(0,0)])

这比MayaVI、VTK、OpenGL等容易得多。

另一个简单的选择是matplotlib的3D图形。它在定量细节上更好,但在3D零件上没有那么简单、快速和交互式。

用于三维图表(编辑)

如果您只需要绘制一个3D图形并定期更新它,gnuplot可能是合适的。使用Python的子流程库,您可以在流程中生成它,以生成具有各种输出格式(如SVG或PNG)的图形。

另请参阅下面汤姆的回答,以获得另一个图书馆推荐。

对于实时3D(原始)

这个答案适用于那些对实时图形感兴趣的人。

渲染3D图形的标准方法是使用与GPU接口的OpenGL库。OpenGL是一个大主题,但专注于特定的应用程序,比如绘制3D线应该不会太难。

存在python的绑定http://pyopengl.sourceforge.net/

GLUT-可能是提供X平台窗口和上下文设置的最佳方法,并且包含在上述绑定中。

OpenGL-使用OpenGL主要有两种方法;"遗留";风格和";现代的";一对于简单的应用程序来说,传统通常更容易上手,尽管学习现代是一项更好的长期投资。

这里有一些学习链接-不要觉得有义务全部阅读-选择与你相关的主题。

  • http://greendalecs.wordpress.com/2012/04/21/3d-programming-in-python-part-1/
  • http://www.informit.com/articles/article.aspx?p=328646&seqNum=6
  • http://www.videotutorialsrock.com/
  • http://nehe.gamedev.net/(遗留)