クラスの概要


クラスがいっぱいあってどれがどれだかわかりづらいので その概要をまとめてみました。

パッケージ / 基本 / 便利 / Group / Leaf / Primitive / Geometry / 光源 / Appearence / Interpolator / Bounds / 戻る / トップページ


パッケージ

パッケージの概要です。
 
javax.media.j3d
Java3D の主要なクラスはここに含まれています。
 
javax.vecmath
3 次元計算に便利な幾何学クラス (行列やベクトル) があります。 javax.media.j3d パッケージのクラスのメソッドの引数に このパッケージのクラスを使う事がよくあります。
 
com.sun.j3d.*
javax.media.j3d と javax.vecmath パッケージだけでも 3 次元処理のプログラムは書けますが、 非常に長いコードになったりしてしまいます。 そのため良く使われそうなクラスが このパッケージにまとめられています。 ソースファイルは例題プログラムに添付されています。

基本

最低限覚える必要のあるクラスです。
 
javax.media.j3d.Canvas3D
3 次元グラフィックスが描画される AWT です。
 
javax.media.j3d.VirtualUniverse
SceneGraph の根となるところです。 簡単な 3 次元処理を行う時はそのサブクラスの com.sun.j3d.utils.universe.SimpleUniverse クラスがよく使われます。
 
javax.media.j3d.BranchGroup
この下にいろいろな Node をぶらさげます。 これ自体は情報を持ちません。 詳しい解説は こちら です。
 
javax.media.j3d.TransformGroup
Transform3D オブジェクトを持つ Group です。 Leaf ではない点に注意してください。
 
javax.media.j3d.Transform3D
位置情報を所有する 4×4 の行列です。 位置情報といっても回転や拡大縮小、平行移動を表わすものです。 つまり、物体の位置とは原点からの平行移動で表現するわけです。
 
javax.media.j3d.Shape3D
物体を表わすクラスです。 Geometry オブジェクトと Appearance オブジェクトの情報を 持っているものです。 詳しい解説は こちら です。
 
javax.media.j3d.Geometry
物体の形を表わします。 使う時は そのサブクラス を使います。
 
javax.media.j3d.Appearance
物体の見かけ (テキスチャー・色など) を表現します。 実際には 多くの種類のオブジェクト への参照でそれらの情報を保持しています。
 
javax.media.j3d.GraphicsContext3D
Immediate Mode を使う場合に必要なクラスです。 AWT の Graphics クラスに対応するクラスです。 詳しい解説は こちら です。

便利なクラス

初期のプログラミングに便利なクラスです。
 
com.sun.j3d.utils.universe.SimpleUniverse
VirtualUniverse クラスと Locale クラスを一つにまとめたようなクラスです。 SceneGraph の根になります。 詳しい解説は こちら です。
 
com.sun.j3d.utils.geometry.ColorCube
色付き立方体です。 Shape3D クラスのサブクラスなので とりあえず物体を表示させたい時に重宝します。
 
com.sun.j3d.utils.applet.MainFrame
アプレットとして設計したクラスを アプリケーションとしても実行できるようにするためのクラスです。 main メソッドでこのコンストラクタを呼ぶようにします。
 
com.sun.j3d.utils.image.TextureLoader
BufferedImage オブジェクト (JDK 1.2 から追加されたクラスです) やファイル名で指定した画像ファイルを元に Texture オブジェクトを作ってくれます。

戻る