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

version 2.3.0

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




・NyARToolkit/2.3

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

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

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


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


・NyARToolkitの特徴

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

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

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

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

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

  -Idマーカシステム(NyId)が利用できます。(Version/2.3.0より)






・構成

+-----------------------------------------------+
|                   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ライブラリの本体です。依存する外部モジュールはありません。

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用マーカーを認識するARToolkitのsimpleLite相当のサンプルです。
  -jp.nyatla.nyartoolkit.jogl.sample.JavaSimpleLite2
   複数のARToolKit用マーカーを認識するサンプルです。1～100個程度のマーカーを
   同時に認識します。
  -jp.nyatla.nyartoolkit.jogl.sample.SingleNyIdMarker
   単一のNyIdマーカを認識するためのサンプルです。アプリケーションフレームワーク
   SingleNyIdMarkerProcesserのリファレンス実装です。


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で処理するサンプルプログラムです。
　




・足りない機能等

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




・ライセンス

NyARToolkitは、商用ライセンスとGPLv2以降のデュアルライセンスを採用しています。

GPLについては、LICENCE.txtをお読みください。

商用ライセンスについては、ARToolWorks社に管理を委託しておりますので、
下記URLを参考に、ARToolWorks社へお問い合わせください。
http://nyatla.jp/nyartoolkit/wiki/index.php?Licence


ライセンスに関する日本語でのお問い合わせについては、下記URLの連絡先にて受け付けています。
http://nyatla.jp/nyartoolkit/wiki/index.php?PressRelease%2F20090407%20forward%20order%20email%20service


ソースコード毎のライセンスについては、ソースコード先頭の署名をご確認ください。




・謝辞

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

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