【问题标题】:simple graphics for pythonpython的简单图形
【发布时间】:2013-03-30 23:15:28
【问题描述】:

我正在用 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 合作,但想要一些更简单的东西。

【问题讨论】:

  • 如果你的意思是pygameit works with 3.x,它适用于Mac。 (它没有附带二进制安装程序,但实际上,我认为您无论如何都不需要二进制安装程序。IIRC,他们不会为您提供 64 位 Python 或 Apple 的 Python 甚至最新的安装程序python.org 32 位 Python。)
  • 据我所知,3D 图形的其他常见替代方案是PyOpenGLpyglet。根据我有些有限和过时的经验,如果您喜欢从 GL 的角度思考,前者可能会更好;如果你想从窗口和小部件的角度来考虑后者,并且只为它们渲染 3D 表面。
  • 听说PyOpenGL,上手有多简单,我又在找尽可能简单的,比如玩乐高积木。
  • 如果您已经了解 GL,那么很容易上手。如果你不……可能不会那么多。该软件包确实带有NeHe OpenGL tutorials 的 Python 翻译版本,非常好。但无论你如何做,进入 OpenGL 肯定都会遇到最初的障碍。
  • 一夜 4 小时的障碍,我可以构建一个 rubix 立方体或两周,我只是有一个立方体滑动一个位置可能在命令中

标签: python user-interface python-3.x tkinter


【解决方案1】:

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

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

注意:也可以使用pip install graphics.pysee link

它很容易学习,并且已经内置了各种形状。没有原生 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

【讨论】:

  • @EasilyBaffled,不,它不能。你必须下载文件阅读里面的说明。
  • 我刚下载了graphics.py,把它和我的主要python文件放在同一个目录下,添加了上面提供的代码,它就可以工作了。没问题。
  • @EasilyBaffled --- 是的,您可以使用 PIP --- 只需输入 pip install graphics.py。我刚刚做了,我得到了 5.0.1-post1 版本。它在我的 Mac 上运行良好,不需要 gcc
【解决方案2】:

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

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

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

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

【讨论】:

    【解决方案3】:

    Visual Python,来自www.vpython.org

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

    【讨论】:

      猜你喜欢
      • 2016-08-14
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多