ARToolKit Java class library NyARToolkit.
Copyright (C)2008 R.Iizuka

version 2.0.0

http://nyatla.jp/nyartoolkit/
airmail(at)ebony.plala.or.jp
--------------------------------------------------




・NyARToolkit/2.0

NyARToolkitは、Pure Javaで実装したARToolKitクラスライブラリです。

ARToolKit 2.72.1をベースに構築されています。

NyARToolkit/1.xと比較し、構造的な最適化がされ、可読性が向上しています。



J2SEでのみ動作を確認しました。
J2MEやMIDP2.0にはそのうち対応します。


ARToolkitは加藤博一先生とHuman Interface Technology Labにより
開発されたAugmented Reality (AR) ライブラリです。
詳しくはこちらをご覧下さい。
http://www.hitl.washington.edu/artoolkit/


・NyARToolkitの特徴

　-ARToolKitと同等な処理シーケンスを、クラスベースで再構築してあります。

  -構造的な最適化がされており、ARToolKitと比較して可読性に優れています。

　-座標変換の演算性能が1.5倍ほど高速です。（JIT有効時）複数マーカー取り扱い時は、
　 オリジナルよりも良い成績が得られます。

　-取り扱える画像サイズに制限がありません。

　-取り扱えるマーカー個数の最大値が可変です。






・構成

+-----------------------------------------------+
|                   Application                 |
+-------+---------+--------+--------+-----------+
|NyARJMF|CaptureQT| NyARJoglNyARJ3d |           |
+-------+---------+--------+--------+           |
|  JMF  |QuickTime|  JOGL  | Java3D |NyARToolkit|
+-------+---------+--------+--------+           |
|      Camera     |       3D        |           |
------------------------------------+-----------+


映像キャプチャにはJMF、又はQuickTimeを使用することが出来ます。

3D描画にはJOGL又はJava3Dを使用することが出来ます。

NyARJMF/CaptureQT/NyARJog/NyARJ3dは、下位のキャプチャモジュール
や3Dライブラリを使いやすくするためのラッパークラス群です。

これらとNyARToolkitは疎結合になっており、インタフェイスをあわせる
ことで、自作モジュール等との差し替えが出来ます。




・サンプルなど

１．動作させる前に、JMFとJOGLかJava3Dをインストールしてください。
　　QuickTimeを使う場合には、QuickTime for Javaも必要です。


動作確認したバージョンと入手先はこちらです。

JMF JavaTM Media Framework 2.1.1e
http://java.sun.com/products/java-media/jmf/index.jsp

jogl-1.1.1-pre-20080328-xxxx-i586.zip
https://jogl.dev.java.net/

java3d-1_5_1-xxxx-i586.exe
https://java3d.dev.java.net/binary-builds.html

QuickTime 7.5
http://www.apple.com/quicktime/qtjava/



２．eclipseで空のワークスペースを作成し、sample,src,src.utils
　　ディレクトリをインポートしてください。

srcにはNyARToolkit本体、src.utilsにはキャプチャや3Dライブラリとの
インタフェイスクラス群、sampleにはこれらを組み合わせた動作する
サンプルプログラムがあります。




・プロジェクトの説明

ライブラリ

NyARToolkit
　NyARToolkitライブラリの本体です。依存する外部モジュールはありません。

NyARToolkit.utils.jmf
　JMFからの画像をNyARToolkitに取り込むクラス群があります。
　外部ライブラリは、JMFに依存します。

NyARToolkit.utils.qt
　QuickTimeからの画像をNyARToolkitに取り込むクラス群があります。
　外部ライブラリは、JMF、QuickTime for Javaに依存します。

NyARToolkit.utils.jogl
　OpenGLとNyARToolkitのインタフェイスクラス群があります。
　外部ライブラリは、JMF,JOGLに依存します。

NyARToolkit.utils.java3d
　Java3DとNyARToolkitのインタフェイスクラス群があります。
　外部ライブラリは、JMF,Java3Dに依存します。


サンプル

NyARToolkit.sample.jogl
　JOGL/JMFを使ったサンプルプログラムがあります。

  -jp.nyatla.nyartoolkit.jogl.sample.JavaSimpleLite
   単一のマーカーを認識するARToolkitのsimpleLite相当のサンプルです。
  -jp.nyatla.nyartoolkit.jogl.sample.JavaSimpleLite2
   複数のマーカーを認識するサンプルです。～100個程度のマーカーを同時に
   認識します。


NyARToolkit.sample.java3d
　JOGL/JMFを使ったサンプルプログラムです。
　
  -jp.nyatla.nyartoolkit.java3d.sample
  simpleLiteをJava3Dで動かすサンプルがあります。

NyARToolkit.sample.jmf
  JMFを使ったサンプルプログラムです。

  -jp.nyatla..nyartoolkit.jmf.sample
　JMFでキャプチャした画像をNyARToolkitで処理するサンプルプログラムです。
　

NyARToolkit.sample.qt
　Quicktime for Javaを使ったサンプルプログラムです。

　-jp.nyatla.nyartoolkit.qt.sample
　QuickTimeでキャプチャした画像をNyARToolkitで処理するサンプルプログラムです。
　




・足りない機能等

カメラキャリブレーション、マーカーのセーブ機能等が相変わらずありません。
今後実装していきます。




・ライセンス
GPLv2以降です。詳しくはLICENCE.txtをみてください。
ソースコード毎のライセンスは、各ソースファイルを参照してください。




・謝辞

arc@dmzさん
http://digitalmuseum.jp/

QuickTimeキャプチャモジュールを提供をして頂きました。有難うございます。