1

現在の状況:

  • ほぼ同じタイプのシミュレーションを毎回実行するように C コードが書き直されている (マウスの学習行動)
  • 結果をプロットするためのシミュレーションごとに作成された Matlab コード (2D、場合によっては 3D グラフ)

ここに私の目標があります:

  • 動的シミュレーターを構築できる GUI (wxPython) を設計する
  • GUI には、OpenGL (またはおそらく Matplotlib) を介したシミュレーションの結果も表示されます。
  • C ラッパー (CFFI) を使用してシミュレーションを実行し、結果 (平均) を OpenGL または Matplotlib に送信します。

質問:

  • このソフトウェアを可能な限り効率的に実行するために、CFFI を使用してシミュレーションを実行することは理にかなっています...私が確信していないのは、その FFI インスタンス (またはOpenGL Cバインディングを使用してすべてのグラフィックスを行い、結果のグラフをPythonレイヤーに渡してGUIに表示するか、CFFIにシミュレーションの平均(プロットされるデータ)を変数に送信させますPython レベルで、PyOpenGL または Matplotlib を使用してグラフをプロットします。
4

1 に答える 1

1

シミュレーション実行のターンアラウンド タイムと、グラフを表示および更新する速度を把握しておくと役立ちます。多かれ少なかれリアルタイムで、それぞれ数十ミリ秒ですか?秒?分?

グラフを描画する場合は、OpenGL ではなく Matplotlib をお勧めします。Matplotlib コードを自分でハッキングして、必要なことを正確に実行することは、OpenGL で行うよりもおそらく簡単です。また、Matplotlib には「XKCD」スタイルのグラフもあります :-)

PyOpenGL は wxPython で正常に動作します。最新の 3D での単調な作業のほとんどは GPU によって行われるため、Python ではなく C で 3D グラフィックスを作成することにした場合、おそらくその価値はありません。

お役に立てれば。

于 2014-05-26T00:55:59.067 に答える