帰省の新幹線の中で Proce55ing を使ってちょっとしたプログラムを書いていた時に気づいたのが、Proce55ing(というより、Java)って演算子のオーバーロードに対応してないんじゃん!!ということ。
これは困る。ものすごく困る。行列演算ができないなんてレベルじゃなく、この環境でプログラムを書くのは無理無理!!ってくらい困る。
だって、ベクトルの演算をするときに
Vector3 v1(1,0,0);
Vector3 v2(0,1,0);
Vector3 v3 = v1+v2;
とかできなくて、
Vector3 v1(1,0,0);
Vector3 v2(0,1,0);
Vector3 v3 = v1.add(v1,v2);
みたいなことをしないといけないんですよ。これは余りにも直感的じゃなさすぎです。こんなので複雑な計算とかできません。
しかたないので、P5で書いたコードは捨てて C++ で一から書き直すとします。どの道、ある程度動作確認ができたら書きなおすつもりだったのでいいんですけどね。
Proce55ingは手軽にプログラムが書けて描画も楽チンと思っていたのに、いろいろ罠があるなぁ(涙
Proce55ing って、標準では行列が扱えないのかー。知らなかったよ…
これは困った。手軽に描画ができるからって Proce55ing を使ってたのに、これじゃ手軽に描画ができないよ(笑。
JAMAみたいなライブラリを簡単に使えたりするのかなぁ?それならありがたいんだけど。そうでなかったら、昔 C++ で作ったプログラムのコードを流用して一から作ったほうが早そうな気がする。fltk を使ってるから、OSX に移植するのもそれほど手間じゃなさそうだしなぁ。気合いを入れれば一、二日でできるかも?
あとは、描画まわりは全部 Maya にお任せしてプラグインとして作るか。これが一番楽そうな気がする。
モノは試しに一番単純なアプリを移植したら、さっくりと移植できたw。
やったのは Makefile を書いたのと、windows 特有のヘッダファイルやら WinMain やらを書きかえただけ。あと、fltk1.x 用のコードだったので fltk2.x 用に書きかえたり。
これだったらfltk を使おうかなぁ。
コメントで jar が扱えるということを教えて頂いたので試してみました。手順は
[Processing][仕様]外部ライブラリ(*.jar)の設置方法 を参考にして、JAMA を入れてみたところ何の問題もなくインストールできて拍子抜け(笑。
コードも、Webページにあったサンプルを copy&paste するだけで動いちゃいました。これは素晴らしい!!
更に、PackageLoc という3D幾何・代数操作パッケージもあるそうなので、Proce55ing に死角無しです。