タグ

ブックマーク / mfumi.hatenadiary.org (2)

  • PyQt5でさくっとGUIを作る - mfumiの日記

    普段GUIを作成する場合はC++withQtで作成してます.実のところQtを使えば簡単にGUIが作成できるんですが,わざわざQtプロジェクトを作るのもあれだなーという時 にPython用のQtバインディングであるPyQt5を使うともっとお手軽にできるのではないかと思って試してみました.(ちなみに,PyQt5は全然ドキュメントがないです.) 最初に一つ言っておくと,Python用のQtバインディングは2種類あって,1つがPyQt,もう一つがPySideです.PySideの方はQt開発元のNokiaがサポートしてます.今回PyQtを利用した理由としたのは2014/11/12現在Qt5をサポートしているのはPyQtのみだったからです.(Python3は両方サポートしてます).重要な点ですが,PyQt5のライセンスはGPLもしくは商用ライセンスです(Qt自体はLGPLもしくは商用ライセンス).Py

    PyQt5でさくっとGUIを作る - mfumiの日記
  • グラフ(ネットワーク)を奇麗に描画するアルゴリズム - mfumiの日記

    グラフはノードと辺の集合から構成されているだけなので,その描画方法は任意です.例として,以下の3つのグラフはどれも同じです. グラフをどうやって奇麗に描画するかという研究は昔からおこなわれていて,そのうちの一つに力学モデルがあります(Wikipedia).このモデルではノード間にある力が作用すると考えてそれが安定するような場所を探します.簡単な例ではノードを電荷だと仮定してそれぞれに働くクーロン力を計算し,それをもとにノード位置の修正をおこないます. 力学モデルのアルゴリズムで代表的なものにFruchterman-Reingold アルゴリズムがあります.このアルゴリズムは多くのグラフを扱うライブラリでサポートされているようです. このアルゴリズムの考え方はシンプルで,ノードに影響する力が2つあります.一つは自分以外の全てのノードからの斥力,もう一つが隣接ノードからの引力です.斥力f_rと

    グラフ(ネットワーク)を奇麗に描画するアルゴリズム - mfumiの日記
  • 1