Java 3Dサンプルプログラム

Copyright(c)1999 ENDO Yasuyuki


ご質問は...

えんどう やすゆき mailto:yasuyuki@javaopen.org または

Java3Djpメーリングリスト http://www.ipc-tokai.or.jp/~atusi/java3d/ml/index.html まで。


ダウンロード: examples.zip (2,315,550 バイト)


* Java Plug-in 対応版の実行には以下のソフトが必要です。

  1. Java Plug-in 1.2.2 (JRE 1.2.2)
  2. Java 3D Runtime for the JRE

インストール方法はJava Plug-in, Java 3D Runtimeのインストール (Win32) を参照してください。

注意:

  1. Java Plug-in のうち、Internatiotal 版 (約 8MB)をインストールしてください。
    (English 版 (約 6MB)ではありません) jre12i.gif
  2. Java Plug-in にはJava 3D Runtime for the JRE をインストールしてください。
    (Java 3D Runtime and Examples for the JDK ではありません j3druntime.gif
おことわり:
OpenGL 1.1 (Win32) は3次元テクスチャーに未対応なので、javax.media.j3d.Texture3D のサンプルは Windows 95/98, NT では正常に動作しません。Linux, Solaris で実行してください。

もくじ


最初のアプレット

FirstApplet.java (ふつうのアプレット)

FirstApplet.java (com.sun.j3d.utils.applet.MainFrameを加えたサンプル)

FirstApplet.java (javax.media.j3d.Canvas3Dを加えたサンプル)

FirstApplet.java (com.sun.j3d.utils.universe.SimpleUniverseを加えたサンプル)

FirstApplet.java (SimpleUniverse#getPreferredConfiguration()を加えたサンプル)

FirstApplet.java (javax.media.j3d.BranchGroupを加えたサンプル)

FirstApplet.java (javax.media.j3d.BranchGroupを加えたサンプルその2)

FirstApplet.java (com.sun.j3d.utils.geometry.ColorCubeを追加したサンプル)

FirstApplet.java (ViewingPlatform()#setNominalViewingTransform()を加えたサンプル)

FirstApplet.java (javax.media.j3d.TransformGroupを加えたサンプル)

FirstApplet.java (回転のサンプル)

FirstApplet.java (回転を2回適用したサンプル-失敗例-)

FirstApplet.java (回転を乗算したサンプル)

FirstApplet.java (回転の乗算の順序を逆にしてみたサンプル)

FirstApplet.java (javax.vecmath.AxisAngle4dを使って回転したサンプル)

FirstApplet.java (移動のサンプル)

FirstApplet.java (拡大/縮小のサンプル)

FirstApplet.java (拡大/縮小のサンプル -失敗例-)


com.sun.j3d.utils.geometry.Primitiveクラスのサンプル

ColorCubeApplet.java (ColorCubeのサンプル)

BoxApplet.java (Boxのサンプル)

ConeApplet.java (Coneのサンプル)

CylinderApplet.java (Cylinderのサンプル)

SphereApplet.java (Sphereのサンプル)


物体の定義 javax.media.j3d.Shape3Dクラス

javax.media.j3d.GeometryArrayクラス

Shape3DTest.java (PointArrayのサンプル)

Shape3DTest.java (LineArrayのサンプル)

Shape3DTest.java (TriangleArrayのサンプル)

Shape3DTest.java (QuadArrayのサンプル)

Shape3DTest.java (LineStripArrayのサンプル)

Shape3DTest.java (TriangleStripArrayのサンプル)

Shape3DTest.java (TriangleFanArrayのサンプル)


色指定の方法

ColorTest.java (setColor()メソッドのサンプル)

ColorTest.java (setColors()メソッドのサンプル)

ColorTest.java (すべての頂点の色を違う色にしたサンプル)


javax.media.j3d.IndexedGeometryArrayクラス

Shape3DTest.java (IndexedPointArrayのサンプル)

Shape3DTest.java (IndexedLineArrayのサンプル)

Shape3DTest.java (IndexedTriangleArrayのサンプル)

Shape3DTest.java (IndexedQuadArrayのサンプル)

Shape3DTest.java (IndexedLineStripArrayのサンプル)

Shape3DTest.java (IndexedTriangleStripArrayのサンプル)

Shape3DTest.java (IndexedTriangleFanArrayのサンプル)


照明 javax.media.j3d.Lightクラス

LightingApplet.java (平行光源 javax.media.j3d.DirectionalLightのサンプル)

LightingApplet.java (光源に色を設定したサンプル)

LightingApplet.java (違う色の光源を2つ設定したサンプル)

LightingApplet.java (点光源 javax.media.j3d.PointLightのサンプル)

LightingApplet.java (環境光 javax.media.j3d.AmbientLightのサンプル)

LightingApplet.java (平行光源と環境光を使ったサンプル)

LightingApplet.java (スポットライト javax.media.j3d.SpotLightのサンプル)


物体の表面 javax.media.j3d.Materialクラス

MaterialTest.java (setDiffuseColor()メソッドのサンプル)

MaterialTest.java (setAmbientColor()メソッドのサンプル)

MaterialTest.java (setShaininess()メソッドのサンプル)

MaterialTest.java (setSpecularColor()メソッドのサンプル)

MaterialTest.java (setEmissiveColor()メソッドのサンプル)

MaterialTest.java (今までのまとめ)


法線ベクトルの指定

NormalRender.java (法線をLineArrayで視覚化するサンプル)
NormalTest.java (頂点法線のサンプル)

NormalTest.java (面法線を計算するサンプル -一つのポリゴン-)

NormalTest.java (面法線を計算するサンプル -多数のポリゴン-)

NormalTest.java (com.sun.j3d.utils.geometry.NormalGeneratorを使ったサンプル)


javax.media.j3d.Appearanceクラス

AppearanceTest.java (setPointAttributes()メソッドのサンプル)

AppearanceTest.java (setLineAttributes()メソッドのサンプル)

AppearanceTest.java (setPolygonAttributes()メソッドのサンプル)

TuplePanel.java (Tuple[34]f入力用Panel)
TupleEvent.java (TuplePanel用イベントクラス)
TupleEventListener.java (TuplePanel用イベントリスナー)

AppearanceTest.java (setColoringAttributes()メソッドのサンプル)

AppearanceTest.java (setTransparencyAttributes()メソッドのサンプル)

AppearanceTest.java (setRenderingAttributes()メソッドのサンプル)

※ このサンプルはフリーの地図データを元にモデリングしました。

タイトル:標高データ 立山カルデラ周辺
著作権者:NABE さん
http://www.vector.co.jp/soft/data/home/se021130.html

read.me より:

転載等について
・このアーカイブファイルに含まれるデータの著作権は著者に属するものとします。
・このデータを使用したことによる損害等には著者は一切の責任を負いません。
・データの転載や再配布については、自由に行ってもかまいませんが、以下の3点を
 明記して下さい。 

 1. 転載・再配布に金銭の授受を伴わないこと(ただし手数料を除く)
 2. (筆者の読みとり能力から)このデータには100%の信頼性が伴わないこと
 3. このデータは、国土地理院発行の25,000分の1地形図”立山”(H3.7.1)
   の一部を、100m毎に、その等高線から標高を読んでいったものであること

テクスチャー・マッピング

TextureApplet.java (テクスチャー座標の説明)

TextureApplet.java (TexturreLoader を使う)

TextureApplet.java (透明テクスチャーと TransparencyAttributes)

TextureApplet.java (テクスチャーの WRAP)

TextureApplet.java (テクスチャーの CLAMP)

TexGenTest.java (TexCoordGeneration のサンプル - OBJECT_LINEAR)

TexGenTest.java (TexCoordGeneration のサンプル - EYE_LINEAR)

TexGenTest.java (TexCoordGeneration のサンプル - SHPERE_MAP)

TextureAttributesTest.java (TextureAttributes のサンプル )

Texture3DTest.java (javax.media.j3d.Texture3D のサンプル)


霧、背景 (Fog, Background)

FogTest.java (javax.media.j3d.Fog のサンプル)

FogTest.java (javax.media.j3d.Background を加えたサンプル)


javax.media.j3d.Raster

RasterTest.java (javax.media.j3d.Raster のサンプル)


文字描画 (Text2D, Text3D)

Text2DTest.java (com.sun.j3d.utils.geometry.Text2D のサンプル)

Text3DTest.java (javax.media.j3d.Text3D のサンプル)

Text3DTest.java (javax.media.j3d.FontExtrusion のサンプル -面白いよ;->)


Group ノード (Switch, OrderedGroup, SharedGroup)

SwitchTest.java (com.sun.j3d.utils.behaviors.picking パッケージのサンプル)


モーフィング

MorphTest.java (モーフィングのサンプル)


キーボード/マウス操作

KeyNavigatorTest.java (com.sun.j3d.utils.behaviors.keyboard.KeyNavigatorBehavior のサンプル)

MouseBehaviorTest.java (com.sun.j3d.utils.behaviors.mouse パッケージのサンプル)

PickMouseTest.java (com.sun.j3d.utils.behaviors.picking パッケージのサンプル)

SimplePickingCallback.java (ピッキングのサンプル -コールバック用 interface)
SimplePicking.java (ピッキングのサンプル -PickMouseBehavior を継承したピッキング用クラス)
PickMouseTest.java (ピッキングのサンプル)

PickSelectionFeedback.java (イベントリスナーを使ったサンプル)

QuatTest.java (MouseBehaviorCallback のサンプル)

TimerBehavior.java (最も単純な Behavior のサンプル)

TimerBehaviorCallback.java (Behavior から呼ばれる interface のサンプル)
TimerBehavior.java (processStimulus()interface を呼ぶ Behavior のサンプル)

SimpleKeyBehavior.java (キーボードイベント処理のサンプル)


衝突判定

WallCollisionBehavior.java (衝突判定用 Behavior のサンプル)
CollisionTest.java (衝突判定のサンプル)

註:
コンパイルにはSimpleKeyBehavior.javaも必要です。

アニメーション (Interpolator)

AlphaPanel.java (Alphaの入力用Panel)

TimerInterpolator.java (インターバルごとにアルファ値を得る)
TimerInterpolatorCallback.java (TimerInterpolator用のCallbackインターフェース)

AlphaTest.java (Alphaの変化をグラフに描く)

ColorInterpolatorTest.java (ColorInterpolator のサンプル)

TransparencyInterpolatorTest.java (TransparencyInterpolator のサンプル)

ScaleInterpolatorTest.java (ScaleInterpolator のサンプル)

PositionInterpolatorTest.java (PositionInterpolator のサンプル)

RotationInterpolatorTest.java (RotationInterpolator のサンプル)

SwitchValueInterpolatorTest.java (SwitchValueInterpolator のサンプル)

PositionPathTest.java (PositionPathInterpolator のサンプル)

RotationPathTest.java (RotationPathInterpolator のサンプル)

RotPosPathTest.java (RotPosPathInterpolator のサンプル)

RotPosScalePathTest.java (RotPosScalePathInterpolator のサンプル)

TCBSplinePathTest.java (RotPosScaleTBCSplinePathInterpolator のサンプル)