Java3D

Java3D とは

Java3DとはJavaによる3D描画のためのライブラリである。

Java3D の特長

キューブを表示するJava3Dアプレット。

import java.applet.*;
import java.awt.*;
import javax.media.j3d.*;
import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.geometry.ColorCube;

public class Test3DApplet extends Applet
{
	public Test3DApplet()
	{
		GraphicsConfiguration config =
			SimpleUniverse.getPreferredConfiguration();
		Canvas3D canvas = new Canvas3D(config);
		this.setLayout(new BorderLayout());
		this.add(canvas, BorderLayout.CENTER);

		SimpleUniverse universe = new SimpleUniverse(canvas);
		universe.getViewingPlatform().setNominalViewingTransform();

		BranchGroup root = new BranchGroup();
		root.addChild(new ColorCube(0.4));

		universe.addBranchGraph(root);
	}
}
  1. import java.applet.*; アプレットにするためにインポート。
  2. import java.awt.*; GUI作成のためにインポート。
  3. import javax.media.j3d.*; Java3Dの描画のためにインポート。
  4. import com.sun.j3d.utils.universe.SimpleUniverse; シーン・グラフのルートVirtualUniverseを作るためにインポート。
  5. import com.sun.j3d.utils.geometry.ColorCube; キューブを作るためにインポート。
  6. public class Test3DApplet extends Applet アプレットにするためのTest3DAppletクラス。
  7. public Test3DApplet() Test3DAppletのコンストラクタ。
  8. GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); キャンバスにシステムが持つ適切な設定をするためにGraphicsConfigurationオブジェクトを getPreferredConfigurationメソッドによって得る。 GraphicsConfiguration は現在のスクリーン解像度や色の数などを表す。
  9. Canvas3D canvas = new Canvas3D(config); 3D描画をするキャンバスを作る。
  10. this.setLayout(new BorderLayout()); レイアウトをBorderLayoutにする。
  11. this.add(canvas, BorderLayout.CENTER); このアプレットの中央(BorderLayout.CENTER)にcanvasを貼る。
  12. SimpleUniverse universe = new SimpleUniverse(canvas); シーンを表すSimpleUniverseオブジェクト (universe)を作る。
    実際は以下のものが作られている。 この後、Localeの下に物体のツリーを作って追加してゆく。
  13. universe.getViewingPlatform().setNominalViewingTransform(); setNominalViewingTransform()によって視点位置をZ軸方向に約2.41移動する。
  14. BranchGroup root = new BranchGroup(); 物体(Cube)を追加するためのツリーを作る。
  15. root.addChild(new ColorCube(0.4)); ツリーにキューブ(ColorCube)を追加する。
  16. universe.addBranchGraph(root); シーンにツリーを追加する。

参考


Prev
index | home
abe@injapan.net