19

我正在用 python 进行模拟,需要可视化。我正在寻找python拥有的最简单的图形库。有什么可以让我做一些类似的事情:

setWindow(10,10)
setCube(0,0,1,1,1)#windowX, windowY, width, length, hight,
updateList = simUpdate
for update in updateList:
    removeShape(0,0)
    setCube(0,0,1,1,1)

有这么简单的事吗?3d不是必须的,但它会很好。据我所知,我正在使用 python 3.3 并且 pygames 尚未在 mac 上更新。我一直在与 tkinter 合作,但想要一些更简单的东西。

4

3 回答 3

24

对于简单的图形,您可以使用graphics.py.

它不包含在 Python 中,因此您应该将其保存为 Python 文件(最好命名为graphics.py),Python 可以在其中看到它 --- 在您的sys.path.

注意:也可以使用pip install graphics.py 查看链接

它非常容易学习,并且已经内置了各种形状。没有原生 3D 图形(其中没有),但这样做很容易:对于一个立方体,画一个正方形,另一个画到一边,然后将一个正方形的一个角连接到另一个正方形的相应角。

graphics.py用于创建正方形的示例:

from graphics import *
win = GraphWin(width = 200, height = 200) # create a window
win.setCoords(0, 0, 10, 10) # set the coordinates of the window; bottom left is (0, 0) and top right is (10, 10)
mySquare = Rectangle(Point(1, 1), Point(9, 9)) # create a rectangle from (1, 1) to (9, 9)
mySquare.draw(win) # draw it to the window
win.getMouse() # pause before closing
于 2013-04-08T18:50:46.087 回答
6

pygame 确实 适用于 3.x和 Mac OS X。对于任何最近的 Mac 版本都没有二进制安装程序,但这并没有太大的损失,因为二进制安装程序从来都不是很好。您基本上必须遵循 Unix 安装说明,并自己弄清楚如何安装所有先决条件(如果您使用Homebrew,它只是brew install sdl sdl_ttf … jpeg libpng),然后弄清楚如何告诉安装程序如何找到所有这些先决条件。您可能想查看(甚至可能使用)这个配方,适用于您自己的特定 Python 安装。

据我所知,3D 图形的其他主要替代品是PyOpenGLpyglet. 前者是 OpenGL 的一个非常直接的包装器,如果你用 GL 术语来思考的话,这是非常棒的。后者是一个更高级别的库,有点类似于pygame但直接构建在每个平台上的原生 OpenGL 和原生窗口上,而不是在 SDL 上。

您可能还想查看Python 3D Software Collection,它由PyOpenGL. 我不知道它是最新的,但他仍然从PyOpenGL网站和文档链接到它。

如果您正在寻找面向数学的东西,您可能想看看matplotlib,mplot3d和朋友。如果您最终尝试绘制复杂的几何形状和变换/相交/等。他们,这是你的朋友。如果您正在尝试构建一个简单的游戏或准 CAD 程序,则不是。

于 2013-04-08T19:01:25.080 回答
4

Visual Python,来自www.vpython.org

专为非 OpenGL 黑客的人设计。它有一个保留的场景图模型,而不是直接的,一些内置的控件,并且有相当多的科学/工程模拟示例在互联网上流传。

于 2013-04-09T02:06:09.217 回答