内容紹介
CGプログラミングの主要な技法を幅広く解説した"Computer Graphics: Principles and Practice (Second Edition in C)"の邦訳版
本書は、CGプログラミングの「バイブル」である"Computer Graphics: Principles and Practice (Second Edition in C)"の邦訳版です。基礎から応用まで、幅広い分野の理論および実装のヒントが解説されています。プログラマ・研究者の座右の書として、学生の教科書として、必携の一冊です。
このような方におすすめ
CGプログラマ(ゲームの開発者や企業内の技術者、大学や高専の学生・研究者など)
目次
主要目次
第1章 イントロダクション
第2章 Simple Raster Graphics Package(SRGP)のプログラミング
第3章 2Dプリミティブを描画するためのラスターグラフィックスの基本アルゴリズム
第4章 グラフィックスのハードウェア
第5章 幾何変換
第6章 3次元表示
第7章 オブジェクト階層とSPHIGS
第8章 入力デバイス、対話技法、対話タスク
第9章 対話の設計
第10章 ユーザインタフェースソフトウェア
第11章 曲線および曲面の表現法
第12章 ソリッドモデル
第13章 無彩色光と色光
第14章 視覚的リアリズムの探求
第15章 可視面の決定
第16章 照明とシェーディング
第17章 画像の操作と記憶
第18章 高度ラスターグラフィックスアーキテクチャ
第19章 高度な幾何アルゴリズムとラスターアルゴリズム
第20章 高度なモデリング技法
第21章 アニメーション
付録:コンピュータグラフィックスの数学
参考文献
索引
詳細目次
はじめに
序文
日本語版監訳者より
第1章 イントロダクション
1.1 図形解析としての画像処理
1.2 対話型グラフィックスの利点
1.3 コンピュータグラフィックスの代表的な使用法
1.4 アプリケーションの分類
1.5 コンピュータグラフィックスのためのハードウェアとソフトウェアの発展
1.6 対話型グラフィックスの概念的な枠組み
1.7 まとめ
演習問題
第2章 Simple Raster Graphics Package(SRGP)のプログラミング
2.1 SRGPによる描画
2.2 基本対話処理
2.3 ラスターグラフィックスの機能
2.4 SRGPの限界
2.5 まとめ
演習問題
第3章 2Dプリミティブを描画するためのラスターグラフィックスの基本アルゴリズム
3.1 概要
3.2 線分のスキャン変換
3.3 円のスキャン変換
3.4 楕円のスキャン変換
3.5 矩形の塗りつぶし
3.6 多角形の塗りつぶし
3.7 楕円弧の塗りつぶし
3.8 パターンでの塗りつぶし
3.9 太いプリミティブ
3.10 線スタイルとペンスタイル
3.11 ラスター環境でのクリッピング
3.12 線のクリッピング
3.13 円と楕円のクリッピング
3.14 多角形のクリッピング
3.15 文字の生成
3.16 SRGP_copyPixel
3.17 アンチエイリアシング
3.18 まとめ
演習問題
第4章 グラフィックスのハードウェア
4.1 ハードコピー技術
4.2 ディスプレイ技術
4.3 ラスタースキャンのディスプレイシステム
4.4 ビデオコントローラ
4.5 ランダムスキャンディスプレイプロセッサ
4.6 オペレータとの対話のための入力デバイス
4.7 イメージスキャナ
演習問題
第5章 幾何変換
5.1 2次元変換
5.2 同次座標と2次元変換の行列表現
5.3 2次元変換の合成
5.4 ウィンドウビューポート変換
5.5 効率
5.6 3次元変換のマトリックス表現
5.7 3次元変換の合成
5.8 座標系の変化としての変換
演習問題
第6章 3次元表示
6.1 投影
6.2 任意の3次元表示の指定
6.3 3次元表示の例
6.4 平面幾何投影の数学
6.5 平面幾何投影の実装
6.6 座標系
演習問題
第7章 オブジェクト階層とSPHIGS
7.1 形状モデリング
7.2 保持モードのグラフィックスパッケージの特徴
7.3 構造の定義と表示
7.4 モデリングの変換
7.5 階層構造ネットワーク
7.6 表示トラバースにおけるマトリックス合成
7.7 階層における表示属性の処理
7.8 スクリーンの更新とレンダリングモード
7.9 動的作用に対する構造ネットワークの編集
7.10 対話
7.11 その他の出力機能
7.12 実装の問題点
7.13 階層モデルの表示の最適化
7.14 PHIGSにおける階層モデリングの制約
7.15 階層モデリングに代わる形式
7.16 まとめ
演習問題
第8章 入力デバイス、対話技法、対話タスク
8.1 対話ハードウェア
8.2 基本対話タスク
8.3 複合対話タスク
演習問題
第9章 対話の設計
9.1 ユーザ/コンピュータ間の対話におけるフォームとコンテンツ
9.2 ユーザインタフェースのスタイル
9.3 重要な設計についての考察
9.4 モードとシンタックス
9.5 表示設計
9.6 設計手法
演習問題
第10章 ユーザインタフェースソフトウェア
10.1 基本対話処理モデル
10.2 ウィンドウ管理システム
10.3 ウィンドウシステムでの出力処理
10.4 ウィンドウシステムでの入力処理
10.5 対話技法ツールキット
10.6 ユーザインタフェース管理システム
演習問題
第11章 曲線および曲面の表現法
11.1 ポリゴンメッシュ
11.2 パラメトリック三次曲線
11.3 パラメトリック双三次曲面
11.4 2次曲面
11.5 まとめ
演習問題
第12章 ソリッドモデル
12.1 立体の表現
12.2 正規化されたブール集合演算
12.3 プリミティブのインスタンス化
12.4 スイープ表現
12.5 境界表現
12.6 空間パーティション分割表現
12.7 CSG
12.8 表現方法の比較
12.9 ソリッドモデルのためのユーザインタフェース
12.10 まとめ
演習問題
第13章 無彩色光と色光
13.1 無彩色光
13.2 有彩色
13.3 ラスターグラフィックスのカラーモデル
13.4 色の再現
13.5 コンピュータグラフィックスでの色の使用
13.6 まとめ
演習問題
第14章 視覚的リアリズムの探求
14.1 なぜ写実性か?
14.2 基本的困難
14.3 線描写におけるレンダリング技法
14.4 シェーディングされた画像のレンダリング
14.5 改良されたオブジェクトモデル
14.6 ダイナミクス
14.7 立体視
14.8 改良されたディスプレイ
14.9 他の感覚との対話
14.10 エイリアシングとアンチエイリアシング
14.11 まとめ
演習問題
第15章 可視面の決定
15.1 2つの変数を持つ関数
15.2 効率的な可視面アルゴリズムの技法
15.3 可視線分の決定アルゴリズム
15.4 zバッファアルゴリズム
15.5 リスト優先アルゴリズム
15.6 スキャンラインアルゴリズム
15.7 領域細分アルゴリズム
15.8 八分木のアルゴリズム
15.9 曲面のアルゴリズム
15.10 可視面のレイトレーシング
15.11 まとめ
演習問題
第16章 照明とシェーディング
16.1 照明モデル
16.2 ポリゴンのシェーディングモデル
16.3 サーフェスのディテール
16.4 シャドウ(Shadows)
16.5 透明度(Transparency)
16.6 オブジェクト間の反射
16.7 物理ベースの照明モデル
16.8 拡張光源(Extended Light Sources)
16.9 スペクトルサンプリング(Spectral Sampling)
16.10 カメラモデルの改善
16.11 グローバル照明アルゴリズム(Global Illumination Algorithms)
16.12 再帰レイトレーシング(Recursive Ray Tracing)
16.13 ラジオシティ法(Radiosity Methods)
16.14 レンダリングパイプライン
16.15 まとめ
演習問題
第17章 画像の操作と記憶
17.1 画像とは?
17.2 フィルタリング
17.3 画像処理(Image Processing)
17.4 画像の幾何変換
17.5 マルチパス変換(Multipass Transformations)
17.6 画像の合成(Image Compositing)
17.7 画像記憶のメカニズム
17.8 画像による特殊効果
17.9 まとめ
演習問題
第18章 高度なラスターグラフィックスアーキテクチャ
18.1 単純なラスターディスプレイシステム
18.2 ディスプレイプロセッサシステム
18.3 標準的なグラフィックスパイプライン
18.4 マルチプロセッシングの導入
18.5 パイプラインのフロントエンドアーキテクチャ
18.6 並列フロントエンドアーキテクチャ
18.7 マルチプロセッサのラスター処理アーキテクチャ
18.8 画像並列ラスター処理
18.9 オブジェクト並列ラスター処理(Object-Parallel Rasterization)
18.10 複合並列ラスター処理
18.11 拡張ディスプレイ機能
18.12 まとめ
演習問題
第19章 高度な幾何アルゴリズムとラスターアルゴリズム
19.1 クリッピング(Clipping)
19.2 プリミティブのスキャン変換
19.3 アンチエイリアシング
19.4 テキストの特殊な問題
19.5 塗りつぶしアルゴリズム
19.6 copyPixelの高速化
19.7 シェイプのデータ構造と代数
19.8 bitBltによるウィンドウの管理
19.9 ページ記述言語(Page-Description Language)
19.10 まとめ
演習問題
第20章 高度なモデリング技法
20.1 従来の技法の拡張
20.2 手続き型モデル(Procedural Models)
20.3 フラクタルモデル(Fractal Models)
20.4 文法ベースのモデル
20.5 パーティクルシステム(Particle Systems)
20.6 ボリュームレンダリング(Volume Rendering)
20.7 物理ベースのモデリング(Physically Based Modeling)
20.8 自然および合成オブジェクトの特別モデル
20.9 オブジェクト配置の自動化
20.10 まとめ
演習問題
第21章 アニメーション
21.1 従来のアニメーションとコンピュータ支援によるアニメーション
21.2 アニメーション言語
21.3 アニメーション制御の方法
21.4 アニメーションの基本ルール
21.5 アニメーション固有の問題
21.6 まとめ
演習問題
付録 コンピュータグラフィックスの数学
A.1 ベクトル空間とアフィン空間
A.2 ベクトル空間の標準構成
A.3 内積と距離
A.4 マトリックス
A.5 線形変換とアフィン変換
A.6 固有値と固有ベクトル
A.7 ニュートン-ラプソン反復法による根の検索
演習問題
参考文献
索引
続きを見る