本書は2003年に出版した書籍「JAVAで学ぶ3Dグラフィックスプログラミングの基礎(Ⅰ)」の改訂版です。JAVAアプレットを用いて3Dグラフィックスプログラミングの基礎と、シンプルな3Dフライトシミュレータを作成するために必要なプログラミングの基礎を解説しています。
今回の改訂版では、説明不足と思われる箇所に新たに説明を追加したり、図面を追加したりしています。初版から10年が経過し、WindowsのOSも、Windows XPからWindows Vista、Windows 7へ移行し、そして現在はWindows 8が発売されています。Java開発ツールであるJDKのダウンロードサイトや設定方法も以前とは異なっていますが、インターネット上では様々なサイトで、ダウンロード方法や設定方法の解説がなされておりますので、それらについてはご自分で調べてみてください。
本書の続編として、Javaアプレットで作成したシンプルなフライトシミュレータ(Vectorにてフリーソフトウェアとして提供している「Air Defense Force」)の作り方を解説するとともに、プログラムの全ソースコードを開示した電子書籍を発行する予定です。
シンプルなフライトシミュレータは下記Vectorのサイトから入手できます。
ソフト名 : Simple Flight Simulator "Air Defense Force"
URL : http://www.vector.co.jp/soft/winnt/game/se506152.html
プレイ動画はYoutubeでご覧下さい。
Youtube : https://youtu.be/7AZef257KQo
【(Ⅰ)目次】
1.JAVAコンパイラの準備
2.物体の定義
3.物体の回転
4.物体の配置
5.視点の回転
6.透視座標変換処理とクリッピング処理
6-1.透視座標変換の方法
6-2.高速3次元クリッピング処理
6-3.高速2次元クリッピング処理
6-4.透視座標変換、3次元クリッピング処理、及び2次元クリッピング処理を実行するプログラム
6-5.2つの点を結ぶ線分のxy座標の求め方
6-5-1. 南野のアルゴリズム(直線を構成する各点の座標を計算なしで得る方法)の概要
6-5-2. 南野のアルゴリズムのソースコード
7.裏表の判定
8.三角関数の高速計算
9.回転する立方体と巨大矩形の描画プログラム全ソースコード
10.視点回転
11.郵便ポストを描画する
12.キーコード取得法(1)
13.キーコード取得法(2)
14.視点移動法(1)
15.視点移動法(2)
16.視点移動法(3)
17.視点移動法のまとめ
18.視線方向の回転
19.空と大地の描画(1)
20.空と大地の描画(2)
【(Ⅱ)目次】
21.巨大な物体の追加
22.姿勢制御方法(1)
23.姿勢制御方法(2)
24.水準計の表示(1)
25.水準計の表示(2)
26.ヘッドアップディスプレイの表示(1)
27.ヘッドアップディスプレイの表示(2)
28.操縦桿の表示
29.着陸と離陸の制御(姿勢制御方法)(1)
30.着陸と離陸の制御(姿勢制御方法)(2)
31.着陸と離陸の制御(姿勢制御方法)(3)
32.着陸と離陸の制御(姿勢制御方法)(4)
33.機体速度制御方法(1)
34.機体速度制御方法(2)
35.自機の表示方法(1)
36.自機の表示方法(2)
37.自機の表示方法(3)
38.自機の表示方法(4)
39.ミサイルの姿勢制御(1)
40.ミサイルの姿勢制御(2)
41.敵機の自動操縦(1)
42.敵機の自動操縦(2)
43.敵機の自動操縦(3)
44.敵機の自動操縦(4)
45.ミサイル発射時の座標(1)
46.ミサイル発射時の座標(2)
47.衝突判定
48.コックピット表示
49.メータ類の表示
50.自動車の方向転換
51.自動車の方向転換まとめ
52.敵機のレーダ表示(1)
52.敵機のレーダ表示(2)
53.対空レーダ表示方法
54.ターゲットマーク表示方法
55.計器類表示方法
【(Ⅲ)目次】
56.シンプルなフライトシミュレータプログラムの全ソースコード
今回の改訂版では、説明不足と思われる箇所に新たに説明を追加したり、図面を追加したりしています。初版から10年が経過し、WindowsのOSも、Windows XPからWindows Vista、Windows 7へ移行し、そして現在はWindows 8が発売されています。Java開発ツールであるJDKのダウンロードサイトや設定方法も以前とは異なっていますが、インターネット上では様々なサイトで、ダウンロード方法や設定方法の解説がなされておりますので、それらについてはご自分で調べてみてください。
本書の続編として、Javaアプレットで作成したシンプルなフライトシミュレータ(Vectorにてフリーソフトウェアとして提供している「Air Defense Force」)の作り方を解説するとともに、プログラムの全ソースコードを開示した電子書籍を発行する予定です。
シンプルなフライトシミュレータは下記Vectorのサイトから入手できます。
ソフト名 : Simple Flight Simulator "Air Defense Force"
URL : http://www.vector.co.jp/soft/winnt/game/se506152.html
プレイ動画はYoutubeでご覧下さい。
Youtube : https://youtu.be/7AZef257KQo
【(Ⅰ)目次】
1.JAVAコンパイラの準備
2.物体の定義
3.物体の回転
4.物体の配置
5.視点の回転
6.透視座標変換処理とクリッピング処理
6-1.透視座標変換の方法
6-2.高速3次元クリッピング処理
6-3.高速2次元クリッピング処理
6-4.透視座標変換、3次元クリッピング処理、及び2次元クリッピング処理を実行するプログラム
6-5.2つの点を結ぶ線分のxy座標の求め方
6-5-1. 南野のアルゴリズム(直線を構成する各点の座標を計算なしで得る方法)の概要
6-5-2. 南野のアルゴリズムのソースコード
7.裏表の判定
8.三角関数の高速計算
9.回転する立方体と巨大矩形の描画プログラム全ソースコード
10.視点回転
11.郵便ポストを描画する
12.キーコード取得法(1)
13.キーコード取得法(2)
14.視点移動法(1)
15.視点移動法(2)
16.視点移動法(3)
17.視点移動法のまとめ
18.視線方向の回転
19.空と大地の描画(1)
20.空と大地の描画(2)
【(Ⅱ)目次】
21.巨大な物体の追加
22.姿勢制御方法(1)
23.姿勢制御方法(2)
24.水準計の表示(1)
25.水準計の表示(2)
26.ヘッドアップディスプレイの表示(1)
27.ヘッドアップディスプレイの表示(2)
28.操縦桿の表示
29.着陸と離陸の制御(姿勢制御方法)(1)
30.着陸と離陸の制御(姿勢制御方法)(2)
31.着陸と離陸の制御(姿勢制御方法)(3)
32.着陸と離陸の制御(姿勢制御方法)(4)
33.機体速度制御方法(1)
34.機体速度制御方法(2)
35.自機の表示方法(1)
36.自機の表示方法(2)
37.自機の表示方法(3)
38.自機の表示方法(4)
39.ミサイルの姿勢制御(1)
40.ミサイルの姿勢制御(2)
41.敵機の自動操縦(1)
42.敵機の自動操縦(2)
43.敵機の自動操縦(3)
44.敵機の自動操縦(4)
45.ミサイル発射時の座標(1)
46.ミサイル発射時の座標(2)
47.衝突判定
48.コックピット表示
49.メータ類の表示
50.自動車の方向転換
51.自動車の方向転換まとめ
52.敵機のレーダ表示(1)
52.敵機のレーダ表示(2)
53.対空レーダ表示方法
54.ターゲットマーク表示方法
55.計器類表示方法
【(Ⅲ)目次】
56.シンプルなフライトシミュレータプログラムの全ソースコード