May 3, 2012
このエントリーをはてなブックマークに追加

casmi - (2) サンプルプロジェクト

今回は、前エントリ(casmi - (1) インストール)の最後に書いたサンプルプロジェクトについて、もうちょっと詳しく書いてみます。

casmi, Mavenはインストール済という前提です。

まだの方は前エントリを参考にインストールしてください。

1. サンプルリポジトリのクローン

GitHubで公開されているcasmiのサンプルリポジトリをクローンします。

$ git clone https://github.com/casmi/casmi-examples.git

2. Eclipseにインポート

Eclipseを起動して、

[File] -> [Import...] -> [Maven] -> [Existing Maven Projects]

Root Directoryに、先ほどクローンした casmi-examplesディレクトリ を入れて[Finish]。

Mavenがきちんとセットアップされていれば、これだけでcasmiと依存ライブラリが自動的にダウンロードされます。

3. サンプルの内容

src/main/java以下にパッケージで分けられて大量のサンプルが置いてあり、それぞれ実行できます。これらのサンプルのソースを見ながら動かしてみれば、大体casmiの使い方が分かります。ここで、各サンプルコードが何のサンプルなのか、簡単にリストアップしてみます。

casmi

  • CursorExample.java: カーソルを制御するサンプル。中央の円にカーソルを当てるとカーソルアイコンが変わる。
  • FullScreenExample.java: フルスクリーンで表示するサンプル。
  • KeyboardExample.java: メモ帳のような画面が表示され、キーボードでメッセージを書ける。エンターキーで改行も可。
  • KeyboardSimpleExample.java:
  • MouseExample.java: マウスの位置取得サンプル。三角形の1頂点がマウスに追従する。
  • MouseWheelExample.java: マウスホイールを動かすと、四角形のオブジェクトが上下に動きます。
  • RecordExample.java: 動画キャプチャのサンプル。
  • ScreenshotExample.java: スクリーンショットのサンプル。

casmi.extension.coni

KinectやXtionといった流行りのレンジセンサを扱えるパッケージ。CONIはCasmi OpenNIの略。使うにはOpenNI/NITEのインストールと、JNIライブラリのパスを通す必要がある。

  • HandControlExample.java: ハンドトラッキングを使って写真を切り替える。
  • HandExample.java: ハンドトラッキングのサンプル。センサの前に立ち、手をプッシュ(突き出して→引く)か、ウェーブ(左右に振る)とトラッキングが開始される。
  • IRExample.java: センサのIR画像を取得・表示するサンプル。
  • RecorderExample.java:
  • SimpleViewerExample.java: RGB画像と距離画像を取得・表示するシンプルなサンプル。クリックするとRGB画像と距離画像を切り替えられる。
  • UserTrackerExample.java: ユーザトラッキングとスケルトントラッキングのサンプル。

casmi.extension.cpop

  • CPopExample.java: casmiで右クリックのポップアップメニューを制御するサンプル。

casmi.extension.trackball

  • TrackballExample.java: オブジェクトの直感的な回転操作を行うサンプル。

casmi.graphics

casmiの描画処理の基本サンプル群。casmiでは様々なエレメントを生成、追加することで簡単に描画できる。

  • AlphaExample.java: オブジェクトの透過サンプル。
  • ArcExample.java: 扇形オブジェクトの表示サンプル。
  • BackGroundColorExample.java: 背景をデフォルト(黒色)以外の色に変更するサンプル。
  • BezierExample.java:
  • BoxExample.java:
  • BoxTextureExample.java:
  • CameraExample.java:
  • CircleExample.java:
  • ConeExample.java:
  • CurveExample.java:
  • EllipseExample.java:
  • ImageModeExample.java:
  • LightExample.java:
  • LineExample.java:
  • LinesExample.java:
  • MaskExample.java:
  • MaterialExample.java:
  • PointExample.java:
  • PolygonExample.java:
  • QuadExample.java:
  • QuadTextureExample.java:
  • RectExample.java:
  • RotateExample.java:
  • RoundrectExample.java:
  • SphereExample.java:
  • SphereTextureExample.java:
  • TextBoxExample.java: テキストボックスのサンプル。上から左揃え・中央揃え・右揃え。
  • TextExample.java: シンプルなテキストを表示するサンプル。
  • TextExample2.java: 長いテキストや、回転させてテキストを表示するサンプル。
  • TextureExample.java:
  • TextureMaskExample.java:
  • TriangleExamle.java:

casmi.graphics.color

  • ColorSetExample.java: 予め定義されたwebカラーから色を選択するサンプル。
  • GrayColorExample.java: GrayColorクラスのサンプル。
  • LerpColorExample.java:

casmi.graphics.font

  • FontExample.java: アクセス可能なフォントを表示するサンプル。スクロールできる。

casmi.graphics.gradation

  • GradationBezierExample.java:
  • GradationExample.java:

casmi.graphics.group

  • GroupExample.java: 複数のエレメントをまとめてグループエレメントとして扱うことができる。このサンプルでは、Group1.javaがグループとなっている。

casmi.graphics.mouseover

  • MouseOverColorSetExample.java:
  • MouseOverExample.java:
  • MouseOverGroupExample.java:
  • MouseOverTextExample.java:

casmi.graphics.object

  • ObjectExample.java:

casmi.net

  • HTTPExample.java:

casmi.parser

casmiにはCSV, JSON, XMLのパーサーがデフォルトで含まれている。

  • CSVExample.java:
  • JSONExample.java:
  • XMLExample.java:

casmi.sql

Ruby on RailsのActiveRecordのようなO/Rマッピングをしてデータベースにアクセスできる。MySQLとSQLite3に対応。

  • MySQLExample.java:
  • SQLiteExample.java:

casmi.timeline

複数のシーンを作成しておき、スライドショーのように切り替える。

  • TimelineExample.java: Scene0.java〜Scene3.javaで4つのシーンを定義。それらが順に切り替わる。

casmi.tween

FlashのTweenのような滑らかなアニメーションを行う。

  • TweenCursorExample.java:
  • TweenEquationsExample.java:
  • TweenExample.java:
  • TweenGroupRepeatExample.java:
  • TweenParallelExample.java:
  • TweenRepeatExample.java:
  • TweenSimpleExample.java:
  • TweenVertexExample.java:

casmi.util

  • NoiseExample.java:
  • RandomExample.java:
Tags: Maven casmi Eclipse Java Visualization