2

我正在设计一个管道软件,现在它可以在 2D 上运行。我用 wx.paintDC() 实现了一个非常简单的框架,它基本上是这样的:

def OnDrawing(self, evt):
    dc = wx.PaintDC(self.leftWindow)
    self.leftWindow.PrepareDC(dc)
    dc.Clear()
    for image in self.images[1:]:
        x = image[1][0]
        y = image[1][1]
        img = wx.Image(image[0], wx.BITMAP_TYPE_ANY)
        bmp = wx.BitmapFromImage(img)
        dc.DrawBitmap(bmp, x, y, True)

结果是这个[1]。右侧的按钮用于将部分(管道、阀门等)添加到右侧框架。当您单击按钮时,程序会计算位置并绘制它,因此该框架是非交互式的,您无法单击管道或阀门的段,无法调整其大小等。

这非常容易和简单,但作为一个新程序员,我花了一些时间(并且为此感到自豪)。现在我想改进它,我现在要做的是创建一个类似 3D 的交互式框架,用户可以在其中“通过鼠标”创建管道图,单击它们以更改属性等。

像这些[2] [3]的目标是什么。具有这样的等距背景[4]

我想这并不容易(但一开始我所做的对我来说也不是),但我决定继续尝试和学习以实现它。我想从你们那里得到方向..

现在我不知道从哪里开始,想知道“这可能在 wx 上吗?” , “我应该使用 openGL 还是什么?” . 我需要你指出正确的方向。

这可以仅用 wx 实现吗?或者我需要pyopengl(我什么都不知道的女巫),或者类似的东西?

谢谢!!!...

4

1 回答 1

1

您可能想研究 Python-Ogre。Ogre 是一个开源的 3D 引擎,Python-Ogre 允许你通过 Python 来操作场景。这可以让您专注于用户界面,而不是学习如何使用 pyopengl 绘制带纹理的三角形。

http://python-ogre.org/

于 2011-02-28T01:14:33.200 回答