- 資料はこちら
- 簡単に言うと「3次元描図をするのに、外微分(EC:Exterior Calculus)の概念を使うと便利。平滑化・パラメタ表現・面上のベクトル場と言った基本処理が数行で表せるから。単純なポアソン方程式を解くと言ったことをすることになる。特に、外微分だけだと連続なのだが、コンピュータで扱うには(観測データを扱うには)、離散点を扱いつつ、補間をする必要があり、それが"DISCRETE" exterior calculus(DEC)
- DECはpythonのpyDECとして実装されている
- というわけでインストールして数行を叩いたことがあるだけのpythonにpyDECを入れて試してみることにする
- まずは環境設定
- EclipseにpyDevというのを入れるのが良いらしいということで、そこから
- pyDevのインストール
。あとは言われるがままに使用条件を許諾して再起動させる
- EclipseでpyDevを使う
- New projectを選び、そこからPyDev->PyDev Projectを選ぶ
-
- 作ろうとするとinterpreterがわからない、というメッセージで止まるので、以下の画面で、中断の青いクリッカブルをクリックするとインタープリタ(PC上のpythonのもろもろのこと)を手動設定・自動検出・その他、で選場せられるので、『自動検出(でダメだったら手動に戻ってくればいいや)』ということで、成功
- pyDevでpython
- 新しくパッケージを作ると、ソースフォルダとかができるらしいのだが、できてない!
- のでsrcフォルダを作って、test.pyなるファイルを作ってやる
- もう、この辺りは、「適当にあれやこれや」やってみればできる。それがeclipse(など)のよいところ。パッケージ名を右クリックしたら、作れそうなので、フォルダとファイルをそれぞれ作成
- そのうえで、からのtest.pyに、以下のように、適当にお絵かきソースを見つけてコピーペーストさせてもらう
- test.pyをクリックして、緑の→ボタンを押す
- お絵かき、終了!
import pylab as pl
import numpy as np
X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)
pl.plot(X, C)
pl.plot(X, S)
pl.show()
- さて、離散外微分パッケージpyDECを入れましょう…ここからが問題
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://pydec.googlecode.com/svn/trunk/ pydec-read-only
-
-
- 使い方は、インストールして、起動する。そうすると、メッセージが出て「適当にフォルダを決めてそれを右クリックするとメニューが出るよ」とのことだったので"SVN checkout"というメニューを選ぶ
- そうすると、ディレクトリ構成ごと「だーっ」とファイルがローカルにコピーされる。ツリー構造ごととってくるものだとわかる
-
- pythonは、「必要なものをとってきて」「setup.py」を実行する(Cだとmakeする、みたいな)ものらしいことは、こちらで確認(このサイト、いいなー。こういう、世の中の敷居を低くしてくれる記事には、10年(以上)、本当にお世話になってます)
- 色々あるけど、「結局は"python setup.py install"ってやればいい」んですよね。でも、その「結局こうすればいい」というところにおとなしく落ち着くまでに、いろいろプロセスが必要で…
- このコマンドを打つと
import pyDEC
-
- と書くと、「エラー」として赤くハイライトされていたものが
- 今や、黄色い三角で「このパッケージ、使われていないよ」というのに変わりました
-
- まずEclipseでpyDECを使う前に、コマンドでやってみる
- ダウンロードしてきた中に、Examplesがいくつかあるので、そのうちのDancyFlowのフォルダに移動し、そこで以下のコマンドを打つと、きちんと描図される
python driver.py
-
- これを、Eclipseの作業プロジェクトにコピーペーストして(実行パイソンファイルであるdriver.pyと、読み込みデータファイルであるtriangles.txt,vertices.txtの3ファイルをコピーペースト)、driver.pyをクリック・ハイライトして「緑の実行ボタン」、で、描図に成功、と。
- 実行環境は整ったので、さて、使いましょう、と使えるかどうか、ここからが正念場