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 に答える