December 2, 2011
このエントリーをはてなブックマークに追加

casmi: 2D/3D可視化システムのためのオープンソースJavaライブラリ

今回は「casmi」というJavaライブラリについて紹介してみます。

casmi logo

casmi (http://casmi.github.com/)は、Xcooという会社で開発されているオープンソースのJavaライブラリです。ライセンスはLGPLで配布されています。私も一部開発に関わらせて頂いています。

公式ページによれば、

casmi is an opensource free software using a Java based library with OpenGL that in use in production or development of 2D/3D visualization systems. It can support programmers with simple and intuitive interfaces for implementation. It can work on cross platform (GNU/Linux, Mac OS X, and Windows). casmi is suitable for visualization, because it is originally designed for information visualization, especially with huge data sets.


casmiは、2D/3D可視化システム開発のための、OpenGLを用いたJavaライブラリです。プログラマーに対して、シンプルで直感的な実装を可能とし、また、クロスプラットフォーム(Linux, Mac OS X, Windows)で動作します。特に大きなデータセットに対する情報可視化のために設計されています。

となっています。

公式ページのGalleryに、以下のようなcasmiを使って作られた可視化アプリケーションが紹介されています。各アプリケーションはソースコードも公開されているため、実機で動かすことも可能です。

nuclear plants map: 原子力発電所の可視化

casmiを分かりやすく言えば、Processingの純粋Java版みたいなものと言えます。

Processingはその簡便さのために(中身はJavaですが)独自のエディタや書き方を用いています。 プログラミングにそんなに慣れていない人が小さな可視化プログラムやメディアアート的な表現を行うには適していますが、より高度な開発を行うのには向いていません。特に中身がJavaであるにも関わらず、大規模なオブジェクト指向プログラミングを行うのは辛いという側面があります。

casmiはシンプルなJavaライブラリとして実装されているため、eclipseやNetBeansといったIDEで普通に用いることができます。Processingをeclipseで使う方法も存在しますが、やはり簡便さのために削られたオブジェクト指向性により、Javaに慣れ親しんだプログラマには書き辛くなっています。またcasmiは、デフォルトでJOGL (Java OpenGL) を用いているため、高速な描画処理を可能としています。 casmiは、Javaに慣れ親しんだプログラマが簡易にグラフィカルアプリケーションを制作する際には、Processingより有効なツールとして機能するはずです。

casmiのバージョンは現在v.0.0.4とまだベータ段階で、バグも多くあると考えられます。また、Processingには協力な外部ライブラリが多数存在しますが、casmiにはまだありません。 しかし、熟練したJavaプログラマであっても、より簡易かつ慣れた環境でグラフィカルアプリケーションを制作したいというニーズは存在するはずなので、casmiは今後有望なツールの一つとなりえると思います。

またXcooでは、「casmi solution」という、casmiを使った受託型の可視化ソリューションサービスを行なっています。可視化やデジタルサイネージ、インスタレーションなどを作りたいといった興味があれば、連絡を取ってみるといいかと思います。

本ブログでも、今後casmiについて、使用方法などをちょくちょく書いていけたらと思っています。

Tags: Xcoo casmi Java Visualization