Java 3Dによる3次元CGプログラミング

Version 4.0

更新日: 2008.07.01
著作者:    林武文
吉田英代


(today: yesterday:)


★初版第一刷の訂正



★サンプル一括ダウンロード

■ZIP形式 (Windows用Shift-JIS)  java3d.zip
■LZH形式 (Windows用Shift-JIS)  java3d.lzh
■TGZ形式 (UNIX用EUC)   java3d.tar.gz



★APIリファレンス

■Java3D APIリファレンス(Documentation 1.5.2) (英語)
http://download.java.net/media/java3d/javadoc/1.5.2-latest/

■JavaTM Platform, Standard Edition 6 API 仕様 (日本語)
http://java.sun.com/javase/ja/6/docs/ja/api/




★サンプルプログラム (JDK:1.6.10, Java3D:1.5.2)

内容 html ソース
1章 ウィンドウの描画 Ja11.html Ja11.java
練習問-1(ウィンドウの最大化) Ex11.html Ex11.java
練習問-2(ウィンドウをスクリーン中央に表示) Ex12.html Ex12.java
2章 線分の描画 Ja21.html Ja21.java
連続する線と三角形 Ja22.html Ja22.java
練習-1(線分の描画) Ex21.html Ex21.java
練習-2(線幅の変更と四角形ポリゴン) Ex22.html Ex22.java
課題(円と塗りつぶされた円) Wk21.html Wk21.java
Wk22.java
3章 色々なプリミティブ ApPrimitive.html ApBox.java
ApCone.java
ApCylinder.java
ApSphere.java
ApColorCube.java
円錐の描画(Cone) Ja31.html Ja31.java
ColorCubeの平行移動→回転→縮小 Ja32.html Ja32.java
練習-1(ワイヤーフレームの球) Ex31.html Ex31.java
練習-2(幾何変換) Ex32.html Ex32.java
課題(ポリゴンと円錐) Wk31.html Wk31.java
陰面処理(z-buffer) Ap31.html Wk31.java
Ap31.java
4章 時計盤と時計台 Ja41.html Ja41.java
2D文字 Ja42.html Ja42.java
練習-1(長針と短針の追加) Ex41.html Ex41.java
練習-2(2D文字の変更) Ex42.html Ex42.java
課題(時計[針と文字盤の追加]) Wk41.html Wk41.java
Wk42.java
5章 平行移動するColorCube Ja51.html Ja51.java
マウスによる物体移動
(MouseBehaviorによる自動設定)
* 左ボタン:物体の回転
* 右ボタン:物体の平行移動
* 中ボタン:物体の拡大縮小
Ja52.html Ja52.java
練習-1(Alphaの変更) Ex51.html Ex51.java
練習-2(回転するColorCube) Ex52.html Ex52.java
練習-3(マウス[左]とキーボード[右]による物体移動)
(KeyNavigatorBehaviorによる自動設定)
* ↑↓: 奥/手前に移動
* →←: 左右の回転
* PageUp/Down : 上下の回転
* Alt + →← : 左右の平行移動
* Alt + PageUp/Down : 上下の平行移動
Ex53.html Ex53.java
課題(マウス操作、秒針回転、デジタル時刻の追加) Wk51.html Wk51.java
Wk52.java
6章 各頂点に同一法線ベクトル設定 Ja61.html Ja61.java
各頂点にぞれぞれの法線ベクトル設定 Ja62.html Ja62.java
Materialを設定した球定 Ja63.html Ja63.java
平行光源 Ja64.html Ja64.java
点光源 Ja65.html Ja65.java
動く点光源 Ja66.html Ja66.java
グーローとフラット Ja67.html Ja67.java
練習-2(Materialの設定) Ex61.html Ex61.java
練習-3(点光源の可視化) Ex62.html Ex62.java
課題(シェーディング) Wk61.html Wk61.java
7章 テクスチャを貼り付けたBOX Ja71.html Ja71.java
java3d.jpg
テクスチャを貼り付けたポリゴン Ja72.html Ja72.java
flower.jpg
テクスチャの詳細設定(3回繰り返し) Ja73.html Ja73.java
java3d.jpg
モードの変更(MODULATE,DECAL,BLEND,REPLACE)
Ja74.html Ja74.java
diamond32.gif
テクスチャ座標の自動生成
Ja75.html Ja75.java
diamond128.gif
練習-1(ローカルファイルの読み込み)
*html実行ではテクスチャは表示されない
Ex71.html Ex71.java
flower.gif
練習-2(ポリゴンへのマッピング) Ex72.html Ex72.java
java3d.jpg
練習-3(テクスチャ座標の自動生成)
Ex73.html Ex73.java
diamond128.gif
java3d.jpg
課題(テクスチャの追加) Wk71.html Wk71.java
yellow32.jpg
8章 キーイベント[F1,W]
* W : ワイヤー/ソリッドの切替え
* F1 : Y軸方向の平行移動ON/OFF
Ja81.html Ja81.java
Ja81Behavior.java
マウスによる視点移動 Ja82.html Ja82.java
キーボードによる視点移動 Ja83.html Ja83.java
ウォークスルーアニメーション Ja84.html Ja84.java
Ja84Behavior.java
練習(キーイベント)[F1,F2,W]
* W : ワイヤー/ソリッドの切替え
* F1 : Y軸方向の平行移動ON/OFF
* F2 : X軸方向の平行移動ON/OFF
Ex81.html Ex81.java
Ex81Behavior.java
練習(マウスとキーボードによる視点移動) Ex82.html Ex82.java
課題(キー操作)
* R : 時計の回転
Wk81.html Wk81.java
Wk81Behavior.java



★ダウンロードとインストール

■開発環境
1. JDK 6 のダウンロード
http://java.sun.com/javase/ja/6/download.html
JDK 6 Update6「ダウンロード」
Platform: Windows Language: Multi-language
Windows Offline Installation (jdk-6u6-windows-i586-p.exe)


2. Java 3D 1.5 のダウンロード
http://java.sun.com/products/java-media/3D/download.html
Java3D 1.5.1APIを選択
Platform: Windows
Java 3D API 1.5.1 (java3d-1_5_1-windows-i586.exe)

(上記のJava3Dのバージョンで動かない場合)
Previous ReleasesのJava3D 1.3APIを選択
Platform: Windows
Java 3D API 1.3 (java3d-1_3-windows-i586-directx-sdk.exe)



■実行環境
1. Java Runtime Environment(JRE) 6 のダウンロード
http://java.sun.com/javase/ja/6/download.html
JDK 6 Update6「ダウンロード」
Platform: Windows Language: Multi-language
Windows Offline Installation (jdk-6u6-windows-i586-p.exe)

2. Java 3D 1.5.1 のダウンロード
http://java.sun.com/products/java-media/3D/download.html
Windows Platform - Java 3D API 1.5.1 (java3d-1_5_1-windows-i586.exe)

■その他
1. JCPad のダウンロード
http://hp.vector.co.jp/authors/VA017148/