pyProcessingって名前のコード書いたよって久しぶりにブログ書いて、次の日にその名前
で検索してみたら、同じ名前で同じようなコンセプトで完成度の高いのがすでにあった!
pyprocessing - Project Hosting on Google Code
ちぇー先に調べたら良かったなー。残念。しかもこのpyprocessingのコードみたら、「あ
っ、こいつ本気だ!」って思っちゃった。
だって、必要な関数一覧を用意して、それを片っぱしから実装していってるみたいな感じ
がしたもの。
一方こっちは、自分が使ってみて、あ、こういう関数が欲しいなーと思ったら初めて実装
するといった自分本位開発です。
あちらさんはなかなか良くできてます。3D機能も使えるしね。ちゃんとした機能を使いた
い人はあっちを使ったらいいと思います。pyprocessingをモジュールとして実装していて
、pyprocessingの機能をimportして利用する感じ。
ということで、こちらの存在意義がほぼなくなってしまったんですが、まぁ自分用に気が
向いたら機能追加するかも。で、同じ名前ってのもなんなのでプロジェクト名変更しました。
DoodleCray
です。クレヨンで紙にちょっとらくがきするみたいな使い方ができたらなと思うので、い
たずら書きって意味のdoodleとクレヨン(crayon)の途中までを取りました。
あ、ちなみにくやしかったので、あちらさんからこっちでも使えそうなサンプルコードを
2つほどパクってみましたw
- sample/sketch_circles.py
- sample/sketch_widthandheight.py
ってな感じです。
Processing っていうプログラミング言語というか開発環境があって、非常に簡潔な
記述で視覚的なものが作れるってことに感動して一時期興味を持って、サンプルコードを
見たり本を買ったりしてた。
ただ実際に書きだしてみると段々C言語風の文法が面倒くらくなってきた。
またprocessing.jsという、Processingのjavascript実装があることも知った。
ただこれは文法もProcessingそのものでjavascript風にしたものではなくProcessingその
ものだった。そこまで移植しきったことに感心はしたものの使いたいものとはちょっと違う。
もちろんpythonにはpygameやら pyglet と言った視覚的なものを作るライブラリが揃
ってるのは知ってるしちょっとだけ使ったこともあるけど、ちょっと使うのが面倒だな、
と感じていた。
できれば簡潔な記述、簡単な関数呼出しはそのままにPythonの文法で記述したいな、と思
いpyProcessingというスクリプトを書き始めた。
ちょっと動いたのと、忙しくなってきちゃったのでしばらく放置してたんだけど、今日
twitterで NodeBox なるものの存在を教えてもらった。
tkuro11 Python版Processing改ってかんじかな RT @shunuhs: nodeboxってなんぞ?
みてみたところ、まさしくPython文法で書けるProcessingという感じだった。なのでこの
コンセプトにも需要がある んだーと いうのとNodeBoxはMac OS専用みたいなので、ちょ
っと遊ぶくらいの需要はあるかも?と思ってまだまだ超初期バージョンのコードだけど晒
してみることにします。
2010/01/24 補足:プロジェクト名をDoodleCrayに変更しました!
http://bitbucket.org/shunuhs/pyprocessing/
制限やら注意点としては、
- 要pyglet。1.1.3しか試してません。
- Ubuntsu8.2, Python2.5, pyglet1.1.3の環境でしか試してません。
- y軸方向はprocessingに合わせたので上から下方向です。openglの座標と逆。
- processingではsetup()/draw()なしで記述できたけど、必須です。
- global変数を使う場合には、read onlyであっても関数内で変数にアクセスする場合に
はglobal宣言が必要です。
- 2Dのみです。
あとは興味がありましたらサンプルやらコードをご覧下さい。
サンプルコードを動かしたらこんな感じ。

対応するかどうかは別にして、動かない、とかこうして欲しいってのがありましたら、
私が聞いて、そういう使い方があるんだーとほくそ笑むのでお知らせ頂ければと思います。