CG数理の基礎

メディア学大系 12

CG数理の基礎

  • 柿本 正憲 東京工科大教授 博士(情報理工学)

CGの原理を理解するために知っておいてほしい技術を厳選して丁寧に解説した

  • 口絵
ジャンル
発行予定日
2022/08/下旬
判型
A5
ページ数
210ページ
ISBN
978-4-339-02792-1
CG数理の基礎
近刊出来次第出荷

定価

3,190(本体2,900円+税)

カートに入れる

電子版を購入

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • 著者紹介

【読者対象】
コンピュータグラフィックス(CG)技術に興味あるすべての学部学生。CGクリエイターを志す方で,CGの原理まで踏み込んで理解しておきたい方。

【書籍の特徴】
CG技術は多数の書籍やWebの記事などで解説されている。これに対して本書は,もっとも基礎的な技術群に対象を絞った。このような技術群は,前述の多くの解説を理解するための大前提となるにもかかわらず意外に説明されていない。本書はその部分に焦点を合わせた。特に汎用性の高い技術はできる限り深掘りしてていねいに説明し,読者の根本からの理解を促している。何らかの形でCGに関わる技術者や制作者にとって有用かつ常識的な基礎技術の原理を網羅した内容である。結果的に,CG技術の根底にあるアイディアの面白さを楽しむこともできる技術書となっている。本書の内容の多くは簡単に実行可能なデモプログラムをソースコード付きで用意している。読者は実際に実行結果を見て基礎技術の理解を深めることができる。

【各章について】
1 章ではコンピュータ処理の流れに沿ったCG 技術の全体像を示し,画像や色や図形という,CG において重要な情報のディジタルデータによる表現や表記について説明する。
2 章は図形をどのようにディジタル画像として表示するかがテーマである。古典物理学で言えば原子や分子に相当する構成単位である線分,三角形が画面上に展開される過程(アルゴリズム)を詳細に学ぶ。
3 章は物体データとしての図形を思い通りに操作するための数学的な道具である座標変換(幾何学的変換)を説明する。図形の配置のみならず,3 次元の物体データを2 次元の画面に図形として投影する手段も座標変換である。加えて画像に対する幾何学的変換も解説する。
4 章は3 次元物体データすなわち形状モデルをCG で扱うためのデータ表現を説明する。曲線理論の入門編もこの章に含まれ,曲面についても少し触れる。そのほかいくつかの特徴ある物体表現法については概要を紹介する。
5 章では,アニメーションやゲーム画面のような動きを伴うCG の表示技術にまつわる基本知識を述べる。そもそも画面が動いて見えるように制御する仕組みであるフレーム処理技術,および活用頻度の高い動き処理技術をやや詳しく説明し,各種アニメーション技法については概要説明にとどめる。

【著者からのメッセージ】
ほかのIT分野と同様に,CG技術は日進月歩です。本書はCG分野の多くの先進的な技術や高度な技術については思い切って割愛し,年月を経ても変わることのない原理的な技術に焦点を絞りました。そのため,10年後,20年後に読み返しても役に立つ書籍になったと自負しています。大学での講義の教科書として,あるいは長く使える参考書として利用してください。さらに,高校の情報の授業でディジタル画像やCGに興味を持った理科系の生徒たちにも読んでもらえれば幸いです。

本書は,コンピュータグラフィックス(CG)技術を学ぼうとする学部生を対象とした教科書である。世の中にあふれる膨大な映像のうちの多くはCGとして作られたものである。実写映像に見える映画作品でもかなりの部分がCGとの合成である場合が少なくない。本書はそのようなCGの原理を理解するための基礎固めとなる技術に焦点を当て,広い範囲をカバーしながらもトピックは絞り込み,それぞれをなるべく深く掘り下げて解説する。

技術系の読者,例えばプログラマーやシステムエンジニア志向の読者には常識として知っておいてほしいテーマを集めている。同時に,CGに何らかの関わりのある仕事を志す読者あるいはCG制作に興味のあるクリエイター志望の学生,さらにはすでに実務に従事する若手クリエイターにとっても長く活用できる教科書となることを目指した。

1章ではコンピュータ処理の流れに沿ったCG技術の全体像を示し,画像や色や図形という,CGにおいて重要な情報のディジタルデータによる表現や表記について説明する。

2章は図形をどのようにディジタル画像として表示するかがテーマである。古典物理学で言えば原子や分子に相当する構成単位である線分,三角形が画面上に展開される過程(アルゴリズム)を詳細に学ぶ。

3章は物体データとしての図形を思い通りに操作するための数学的な道具である座標変換(幾何学的変換)を説明する。図形の配置のみならず,3次元の物体データを2次元の画面に図形として投影する手段も座標変換である。加えて画像に対する幾何学的変換も解説する。

4章は3次元物体データすなわち形状モデルをCGで扱うためのデータ表現を説明する。曲線理論の入門編もこの章に含まれ,曲面についても少し触れる。そのほかいくつかの特徴ある物体表現法については概要を紹介する。

5章では,アニメーションやゲーム画面のような動きを伴うCGの表示技術にまつわる基本知識を述べる。そもそも画面が動いて見えるように制御する仕組みであるフレーム処理技術,および活用頻度の高い動き処理技術をやや詳しく説明し,各種アニメーション技法については概要説明にとどめる。

以上に示す通り,本書は高度なあるいは先進的なCGの手法や技法についてはあえて触れず,その前提となる必須技術の知識概念に重点を置いている。例えば,3次元CGにおける興味深い分野であるレンダリング技術(光源,照明,シェーディング,テクスチャマッピング,光線追跡,経路追跡など)は含まれない。また,CGの処理を実行するために不可欠な半導体チップであるGPUについて明示的な説明は行わないが,結果的に2章,3章および5章の前半はGPUの処理内容のうちの基本部分を深く解説していることになる。

本書の内容は,東京工科大学メディア学部の専門科目として2年次に実施される14回の講義内容をまとめたものである。技術志向の学生にとっても制作志向の学生にとっても,CG画像を描くコンピュータの中でなにが起こっているかを知ることは,それまでの基礎的な講義や演習の学びに深みを与え,その後の高度な専門分野の学びの理解を促進する効果をもたらす。

本書で学んだ読者が優れたCG作品の制作に貢献したり,CG応用技術に基づく製品開発に貢献したりすることを通じ,多くの人々の生活の質の向上につながることを期待する。さらには将来,新しい表現や技術の研究開発によってCG技術自体の発展に寄与する本書読者が現れるとしたら,それは筆者の無上の喜びとするところである。

最後に,多くの有益なコメントをいただいたシリーズ監修の相川清明先生と近藤邦雄先生に感謝するとともに,長期にわたり辛抱強く筆者を激励し続けてくださったコロナ社の皆さんに厚く御礼を申し上げます。

2022年7月
柿本正憲

1.ディジタル画像と図形の数学表現
1.1 コンピュータグラフィックス技術の全体像 
 1.1.1 CGは画像を生成する技術 
 1.1.2 三つの要素技術 
 1.1.3 本書のカバーする領域 
1.2 ディジタル画像の基礎 
 1.2.1 ディスプレイの色表現 
 1.2.2 画像の解像度と階調 
 1.2.3 数値データとしての画像 
1.3 色の表現 
 1.3.1 RGB三原色と基本的な色 
 1.3.2 RGB値の範囲 
 1.3.3 さまざまな表色系と色表現方法 
1.4 図 形 の 表 現 
 1.4.1 頂点がすべての基本 
 1.4.2 ディジタル画像における頂点の表現 
 1.4.3 線分の表現例 
 1.4.4 プログラムとデータとの関係 
演習問題 

2.基本図形の描画
2.1 線分描画アルゴリズムの概要 
 2.1.1 線分描画の実例 
 2.1.2 線分描画の妥当な前提条件 
 2.1.3 線分描画アルゴリズムの本質 
2.2 ブレゼンハムのアルゴリズム 
 2.2.1 都合のよい座標系の設定 
 2.2.2 手順の明確化 
 2.2.3 手順の定式化 
 2.2.4 線分描画の実験 
 2.2.5 始点と終点の順番の影響 
2.3 三角形の塗りつぶし(ラスタ化) 
 2.3.1 三角形の重要性 
 2.3.2 三角形ラスタ化アルゴリズムの要求仕様 
 2.3.3 各画素の塗りつぶし判定基準 
 2.3.4 三角形ラスタ化処理手順の概略 
 2.3.5 スムーズシェーディングにおける三角形ラスタ化処理 
 2.3.6 グラフィックスハードウェアにおけるラスタ化 
2.4 アンチエイリアシング 
 2.4.1 アンチエイリアシングの目的と活用 
 2.4.2 輝度判定の方法 
 2.4.3 カバー率計算の方法 
 2.4.4 マルチサンプリング・アンチエイリアシング 
演習問題 

3.座標変換
3.1 座標変換の概要 
 3.1.1 座標変換の分類 
 3.1.2 なぜ座標変換が重要か 
3.2 図形の幾何学的変換の実例 
 3.2.1 Processingプログラムにおける座標系 
 3.2.2 平行移動変換の例 
 3.2.3 拡大・縮小変換の例 
 3.2.4 回転変換の例 
 3.2.5 せん断変換の例 
 3.2.6 Processingにおける座標系の記憶と再利用 
3.3 座標変換と行列 
 3.3.1 幾何学的変換の数式表現 
 3.3.2 1次変換の行列表現 
 3.3.3 1次変換行列の幾何学的な意味 
 3.3.4 アフィン変換の行列表現と同次座標 
 3.3.5 Processingにおける行列の扱い 
3.4 ディジタルカメラモデルと投影変換 
 3.4.1 ビューイングパイプライン 
 3.4.2 モデリング変換と視野変換の例 
 3.4.3 投影変換の概要 
 3.4.4 平行投影 
 3.4.5 透視投影 
 3.4.6 クリッピング 
 3.4.7 透視投影の変換行列 
3.5 画像の幾何学的変換 
 3.5.1 画像の幾何学的変換の例 
 3.5.2 再標本化 
 3.5.3 フィルタリング処理 
 3.5.4 バイリニア補間処理の実際 
 3.5.5 補間方式の違いと使い分け 
演習問題 

4.形状モデル表現の基礎
4.1 形状モデルの表現法 
 4.1.1 形状モデルと形状モデリング 
 4.1.2 形状モデルのファイル形式 
 4.1.3 形状モデルの表現法 
 4.1.4 形状モデルのCG表示法 
 4.1.5 ソリッドモデルのCSG表現 
 4.1.6 CSG表現における同一平面の扱い 
 4.1.7 ソリッドモデルの境界表現 
 4.1.8 形状作成効率化のための表現 
4.2 曲 線 と 曲 面 
 4.2.1 パラメトリック曲線 
 4.2.2 ベジエ曲線の概要 
 4.2.3 ベジエ曲線の幾何学的性質 
 4.2.4 ベジエ曲線の数学的表現 
 4.2.5 ベジエ曲線の分割 
 4.2.6 ベジエ曲線の拡張としてのBスプライン曲線 
 4.2.7 曲線から曲面への拡張 
4.3 各種モデル形状表現 
 4.3.1 ポリゴン曲面 
 4.3.2 ボクセル表現 
 4.3.3 フラクタル 
 4.3.4 メタボール 
 4.3.5 点群データ 
 4.3.6 パーティクル 
演習問題 

5.CGアニメーション技術の基礎
5.1 フレーム処理の基本概念 
 5.1.1 CGアニメーション描画処理の基本原則 
 5.1.2 フレームレートとリフレッシュレート 
 5.1.3 ダブルバッファ 
 5.1.4 プリレンダリング映像の再生フレームレート 
5.2 モーションブラー 
5.3 キーフレーム法 
 5.3.1 キーフレーム法の簡単な実施例 
 5.3.2 インバースキネマティックス 
 5.3.3 動き情報の設定技法(リギング) 
5.4 CGアニメーション各種技法の概観 
 5.4.1 モーションキャプチャ 
 5.4.2 形状変形 
 5.4.3 シミュレーション技術 
演習問題 

引用・参考文献 
演習問題解答 
索引 

柿本 正憲

柿本 正憲(カキモト マサノリ)

大学4年生のとき、NASAのジェット推進研究所が制作した宇宙船と土星のコンピュータグラフィックス作品に衝撃を受けました。CGを使えば自由に世界や宇宙を飛び回れることを知り、自分もこんな映像を作ってみたいと思いました。卒業後は企業の研究所、ベンチャー企業、外資系企業で研究やソフトウェア開発を行うほか顧客支援の技術者も務めましたが、一貫してCG技術に関わってきました。特に私が20代30代だった1980~90年代はCG技術が急速に発展し普及した時代です。新しい技術との遭遇の連続でエキサイティングな日々を過ごしました。

ディジタル技術の専門家として大学で講義をしたりCG技術の研究を行ったりする一方、趣味でアルペンスキー競技を長年続けています。技能や筋力や技術を磨き、道具を調整し、コース状況を予測してタイムを競うことは仕事とは対照的なアナログの世界ですが、深く考えるのが重要、という点で共通です。いずれはCGやVRの仕組みで競技スキー技能を向上させタイムを縮めるシステムを作りたいと思っています。