コンピュータグラフィックスS

コンピュータグラフィックスS
第2回 コンピュータグラフィックスの概要
システム創成情報工学科 尾下 真樹
今日の内容
• コンピュータグラフィックスとは?
• コンピュータグラフィックスの歴史と応用
– コンピュータグラフィックスの歴史
– どのような用途に使われているか
– 応用例の紹介
• コンピュータグラフィックスのしくみ
– 2次元グラフィックスのしくみ
– 2次元から3次元へ
– 3次元グラフィックスのしくみ
教科書(参考書)
• 「コンピュータグラフィックス」
CG-ARTS協会 編集・出版(3,200円)
– Appendix 3
– 第1章、第6章の一部 (6-1)
• 「ビジュアル情報処理 -CG・画像処理入門-」
CG-ARTS協会 編集・出版(2,500円)
– Appendix 3 (228~239ページ)
– 第1章の一部 (1-1、1-4、1-5)
– 完全には内容はかぶっていないので、
参考書の内容は各自読んでおくこと
コンピュータグラフィックス
• 「コンピュータグラフィックス」とは?
– 広い意味では、コンピュータを使って画像・映像
を扱う技術の総称
– 狭い意味では、3次元の形状データをもとに、
現実世界のカメラをシミュレートすることによって、
画像・映像を生成する技術
3次元グラフィックス
• CG画像を生成するためのしくみ
– 仮想空間にオブジェクトを配置
– 仮想的なカメラから見える映像を計算で生成
– オブジェクトやカメラを動かすことでアニメーション
オブジェクト
生成画像
光源
カメラ
コンピュータグラフィックスの分類
• 2次元グラフィックス
– 画像データ(2次元)を扱う
• 画像処理、符号化 などの技術
• 3次元グラフィックス
– シーンデータ(3次元) → 画像データ(2次元)
• 出力データは、あくまで2次元になることに注意
アニメーション
• 2次元アニメーション
– 少しずつ変化する画像を
連続的に生成することで、
アニメーションになる
• 3次元アニメーション
– 動きのデータを与えて、連続画像を生成
コンピュータグラフィックスの概要
• コンピュータグラフィックスの主な技術
オブジェクトの作成方法
いかに自然な画像を高速に計算するか
オブジェクトの形状表現
オブジェクト
生成画像
表面の素材の表現
動きのデータの生成
光源
画像処理
カメラ
カメラから見える画像を計算
光の効果の表現
コンピュータグラフィックスの
歴史と応用
コンピュータグラフィックスの歴史
• CG研究の始まり(1960年代~)
– E.SutherlandがSketchpadシステムを開発(1963)
• 世界初のグラフィカルユーザインターフェース
– T.Whitted がレイトレーシングを発表(1980)
– 複数のグループによりラジオシティ法が開発さ
れる(1983)
• レイトレーシング、ラジオシティ法は光の影響を計算
することによって写実的なCGを計算するための手法
– CG画像・アニメーションが一般に使われ始める
コンピュータグラフィックスの歴史
CGがTVや映画で利用され始める(1980年~)
– 最初は、TV番組のタイトルやアイキャッチの文字
などの短いカットにCGが使われる
– 映画への応用
• ターミネータ2 (1991)、
ジュラシックパーク (1993)、
タイタニック(1997) 、
スターウォーズ(2001) など
– 実写+CGの合成
Terminator 2, 1991, © Carolco
コンピュータグラフィックスの歴史
• 映画などでは、フルCGよりも、実写+CGの
合成が多い
– 実写では実現できないような映像のみをCGで
表現
– 我々の身近にある物、特に人間などはCGで再
現することが難しい
• 少しでも不自然なところがあるとすぐに目立つ
– あまり身近にないような物、実写では絶対に撮
影できないような物をCGで作り出す
– 実写で撮影可能なものにはCGは使わず、実写
とCGを合成
3Dグラフィックスと実写の関係
• 3Dグラフィックス
– 制作には労力がかかる
– 存在しないものも表現可
– 人間などの再現は難しい
• 実写
– 実物をそのまま撮影できる
– 人間などは実写の方が向いている
Jurassic Park III
Universal Pictures
• 両者をうまく使い分けて撮影・生成し、最終
的に合成して映像を作る方法が一般的
コンピュータグラフィックスの歴史
• フルCG映画の製作(1990年代後半~)
– 全ての映像をCGだけで製作する試み
• ToyStory (1995), Shrek (2001), Monsters Inc.(2002)
• Final Fantasy, The Movie (2001)
Toy Story 2, 1999,© Disney・Pixar
Final Fantasy, 2001, © SQUARE
実写とCGの融合
• CGによるリアルな人物の表現(2000年代~)
• イメージベースド・レンダリング(モデリング)
– 実際の人間のデータを計測し、
CGに利用
– 実写とCGの融合
Matrix
Warner Bros.
Spider-Mann 2
Sony Pictures
コンピュータグラフィックスの歴史
• ショートアニメーション
– TVCM、ミュージッククリップ、短編映画、ゲーム
のオープニングムービーなど
– 昔はCG製作のコストが非常に高価だったため、
特に日本などでは、このような短いアニメーショ
ンが主に製作されていた
– 海外では、新しい実験的なCG技術がミュージッ
ククリップなどに使われることが多い
コンピュータアニメーションの応用
• オフライン・アニメーション
– 映画やTVなど
– あらかじめ登場人物の動きが決まっている
• リアルタイム・アニメーション
– コンピュータゲームなど
– ユーザの操作に応じて
ダイナミックに動きを変化
させる必要がある
– 自然な動きを生成するの
は非常に難しい
VirtuaFighter, 1993, © SEGA
リアルタム・アニメーションの応用
• コンピュータゲーム
• 仮想スタジオ
– 仮想的なセットの中で撮影
– 仮想的なキャラクタと実写
のキャラクタを合成
ウゴウゴルーガ, 1993, © フジTV
• マルチユーザ仮想現実環境
– ゲーム(Final Fantasy等)
– コミュニケーション
– 教育、トレーニング
Final Fantasy Online, 2002, © SQUARE
コンピュータグラフィックスの応用
• 映画
• コンピュータゲーム
• CAD
• シミュレーション
• 仮想人間(ヴァーチャル・ヒューマン)
• 可視化(ビジュアライゼーション)
• ユーザインターフェース
CAD
• CAD (Computer Aided Design)
– コンピュータによる設計支援
CADの利点
• デザイン作業が簡単
– 自由にコピー、やり直しなどができる
– デザイン結果がCGで確認できる
• クライアントにアピールしやすい
– CGであれば非専門家にも分かりやすい
• データの管理・取り扱いがしやすい
– CAM (Computer Aided Manufacturing)
• コンピュータによる製造支援
– 現在、自動車業界などの製造業ではデータのデ
ジタル化が急速に進められつつある
CADの利点
• いろんなデザインを簡単に比較できる
日経CG 2000年7月号 p143
CADの利点
• デザインした製品の性能・使いやすさなどを
計算機上で評価できる
– CAE (Computer Aided Engineering)
• コンピュータによる技術的・工学的な設計の支援
• 構造解析、空力・破壊シミュレーションなど
日経CG 1999年10月号 p142
日経CG 2000年2月号 p150
シミュレーション
• シミュレーションはコンピュータグラフィックス
と非常に近い技術
– 現実の物体になるべく近いモデルを計算機上に
構築するという点で共通
– シミュレーションでは、動きのモデルや、動力学
的情報(質量・慣性テンソル、摩擦係数)も必要
になる
– シミュレーションの結果を利用者に表示するため
にも通常CGが使われる
各種シミュレーション技術
• 車、飛行機などの性能予測
• 衣服デザイン
ヨットの空力解析
日経CG 2000年3月号 p117
衣服シミュレーション
digital fashion, inc.
ヴァーチャル・ヒューマン
• 仮想的な人間を計算機上に
作り出す技術
– 骨格、筋肉、内臓などもできる
だけ正確にモデル化
– 医学などにも活用
– アニメーションに応用すれば、
よりリアルな皮膚の変形などが
シミュレートできる
– 脳(思考)のモデル化は可能?
Visible Human Project
筋骨シミュレーション SIMM
日経CG 200年3月号 p120
ヴァーチャル・アイドル
• CGで作られたキャラクタ
– 名前の付けられた特定の
キャラクタ
– 雑誌、写真集、TV番組、
TVCMなどに登場
– 実際のタレントと同様に
TV会社などと契約(?)
するケースもあるらしい
– ギャラは人間よりも安い?
テライユキ, 1999-, © くつぎけんいち
コンピュータグラフィックスの応用
• 映画
• コンピュータゲーム
• CAD
• シミュレーション
• 仮想人間(ヴァーチャル・ヒューマン)
• 可視化(ビジュアライゼーション)
• ユーザインターフェース
可視化(ビジュアライゼーション)
• 人間の目に見えない情報を、CGを使って図
形にすることによって、人間が理解しやすくす
るための技術
• 可視化の技術は大きく2種類に分けられる
– 科学技術計算の可視化(Scientific Visualization)
• 3次元空間の実体に関連した情報を可視化
– 情報可視化(Information Visualization)
• 比較的最近になって研究されている技術
• 3次元空間とはあまり関係のない抽象的情報を可視化
科学技術計算結果の可視化
• シミュレーション結果などを可視化
– 流れ、電界、気象情報など
ヨットの空力解析
日経CG 2000年3月号 p117
医療機器中の血液の流れ
日経CG 2000年9月号 p177
情報可視化
• 大量の情報をいかに分かりやすく見せるか
– ツリー構造、グラフなどを利用
XGobi[Becker96]
Spotfire
INFOVISOR[NTT99]
ConeTree [Robertson91]
ユーザーインターフェース
• グラフィックスを用いることでユーザとコン
ピュータの間の情報交換を助ける
– 計算機の情報を分かりやすくユーザに伝える
– ユーザの意図をなるべく簡単な操作でコン
ピュータに伝える
• 最近は、見た目の美しさにも力が注がれつつある
ユーザー
インターフェース
コンピュータグラフィックスの応用
• 映画
• コンピュータゲーム
• CAD
• シミュレーション
• 仮想人間(ヴァーチャル・ヒューマン)
• 可視化(ビジュアライゼーション)
• ユーザインターフェース
コンピュータグラフィックスのしくみ
2次元のグラフィックス
• コンピュータの画面は、ピクセルの集まりに
よってできている
光の三原色
• 赤(R)、緑(G)、青(B)の混ぜ合わせによっ
てあらゆる色を表現することができる
教科書 p8
色の表現
• 赤(R)、緑(G)、青(B)の混合比で色を表現
R, G, B = (1.0, 0.0, 0.0)
各色0.0~1.0の実数で表した場合
= (255, 0, 0)
各色1バイト(0~255)で表した場合
R, G, B = (1.0, 1.0, 0.0)
= (255, 255, 0)
R, G, B = (1.0, 1.0, 1.0)
= (255, 255, 255)
R, G, B = (0.0, 0.0, 0.0)
= (0, 0, 0)
ピクセルの表現
• RGBによるピクセルの表現の例
R, G, B = (0.66, 0.75, 0.94)
R, G, B = (0.35, 0.46, 0.17)
• RGBそれぞれに8ビット(256段階)ずつ使えば24ビッ
ト(=3バイト)になる
• ピクセルの数が800×600であれば、必要なデータ量
は、800×600×3=1440000バイト=約1.4MB
光の三原色と色の三原色
• 色の三原色(青緑、黄、紫)
• CGでは基本的に光の三原色(加法混色)を使用する
• 最終的に印刷する場合は色の混ぜ合わせが必要
– 最近のプリンタでは、より正確に色を表現するために、3種類
以上のインクを使用するものが多い
CG制作独習事典 p3
光の三原色(RGB)
加法混色
色の三原色(CYMK)
減法混色
HSV色空間
• 色相(H)、明度(V)、彩度(S)により色を表現
– RGB表現に変換できる
– 明るさや鮮やかさを直感的に指定できる
RGB色座標系
HSV色座標系
CG制作独習事典 p7
2次元グラフィックスの解像度
• 640x480
テレビ
• 1024x768 ノートパソコン XGA
• 1280x1024 パソコン SXGA
• 1280x720 ハイビジョン
• 1920x1080 フルハイビジョン
• 1600x1200 パソコン UXGA
• 2048x1024 映画
• 2480x3800 印刷 (A4,300dpi)
カラーパレットを使った表現
• 画像データをパレット部とデータ部に分ける
– 少ないデータ量で画像を表現できる
• 例えば、画像ファイルのGIFフォーマット(最大256色)
• 昔のコンピュータは、一度に出せる色の数が制限さ
れていた
パレット部
(0.66, 0.75, 0.94)
x番目の色
y番目の色
データ部
色の解像度
Q. Windows などで色の解像度に32ビットが
選べるのはどういうことですか?
– 本来は24ビット表現(R:G:B=8:8:8)が標準
– 昔はビデオメモリが足りなかったので、16ビット
表現がよく使われていた(R:G:B=5:5:6 など)
– 16ビット用のハードウェアを単純に拡張したため、
16ビットの次が32ビットになっているビデオカード
がある
– 24ビット(R:G:B=8:8:8)だけを色情報に使い、残
りの8ビットは使わないか、アルファチャンネルと
して使用する場合が多い(詳細はドライバ依存)
2次元グラフィックスの種類
• 2次元グラフィックスを作成するための方法
(ツール)として主に3種類がある
– ペイント系
– ドロー系
– レタッチ系
ペイント系
• 実際に紙と筆を使って絵を描くような作業を
そのまま計算機上で行う方法・ツール
– ツールの例:ペイントブラシ、Painter
– マウスをドラッグすると線
が描かれる
– 塗り、エアブラシ、ぼかし
などの技法も使える
– なるべく実際の絵描き作
業の再現が目標
• 筆がかすれる効果なども
再現
ドロー系
• 主に図を書くための方法・ツール
– ツールの例:Adobe Illustrator
– 線や四角などの図形を配置
– ツール側では、配置され
た図形の情報を記憶
– 最終的に印刷・表示する
時に初めてピクセルデー
タに変換される
• ペイント系とは異なり、拡大
縮小を行っても汚くならない
レタッチ系
• 写真などの画像データを修正・加工
–
–
–
–
ツールの例:Adobe Photoshop
画像の明るさや色合いなどを修正
複数の画像を合成
特殊な効果などを
加える
– ペイント系の機能
を持つソフトも多い
画像の合成の例
レイヤー1
レイヤー2
+
=
カラー(RGB)チャンネル
画像とは別にアルファチャン
ネルを作成することで合成
アルファチャンネル(マスク)
2次元グラフィックスの応用
• 印刷・出版
• Webページ
• 動画
• コンポジション(画像・動画の合成)
• 画像処理・画像認識
• これらのトピックは、本講義では扱わない
2次元から3次元へ
• 3次元グラフィックス
– 3次元の空間情報のデータを持つ
– 3次元のデータから2次元の画像を計算によっ
て生成
• 3次元グラフィックスの利点
– より立体的に正確な画像を生成できる
– あらゆる視点から見た画像を簡単に生成できる
– 動きのデータを与えるだけでアニメーションが生
成できる
3次元グラフィックスのしくみ
• CG画像を生成するための方法
– 仮想空間にオブジェクトを配置
– 仮想的なカメラから見える映像を計算で生成
– オブジェクトやカメラを動かすことでアニメーション
オブジェクト
生成画像
光源
カメラ
コンピュータグラフィックスの概要
• コンピュータグラフィックスの主な技術
オブジェクトの作成方法
オブジェクトの形状表現
オブジェクト
生成画像
表面の素材の表現
動きのデータの生成
光源
画像処理
カメラ
カメラから見える画像を計算
光の効果の表現
3次元グラフィックスの特徴
• 3次元グラフィックスの利点
– より立体的・写実的に正確な画像を得ることができる
– 実写では撮影できないような特殊な映像を作ることがで
きる
• 3次元グラフィックスの制作
– 3次元の形状データを作成する必要があるので、一方向
のみからの画像を描くのに比べると、手間がかかる
– ただし、一度形状データを作成すると、
• あらゆる視点から見た画像を簡単に生成できる
• 動きのデータを与えるだけでアニメーションが生成できる
コンピュータグラフィックスの技術
• CG技術の研究
– 一枚の画像を生成するだけでも多くの技術が使われて
いる
– いかに実物に近い映像を高速に計算するか
– ノンフォトリアリスティックCG
などもある
• リアルな画像ではなく、手書き風
の画像などを生成
• CG技術の特徴
– まだ歴史が浅い
– 新開発された技術はどんどん
実用化される
Hatching [Praun 2001]
まとめ
• コンピュータグラフィックスの応用
– コンピュータグラフィックスの発展の歴史
– 3次元モデルを取り扱うあらゆる用途で利用され
ている
• コンピュータグラフィックスのしくみ
– ピクセルとカラー
– 2次元グラフィックス
– 3次元グラフィックス
次回予告
• オブジェクトの形状表現・作成方法
オブジェクトの作成方法
オブジェクトの形状表現
オブジェクト
生成画像
表面の素材の表現
動きのデータの生成
光源
画像処理
カメラ
カメラから見える画像を計算
光の効果の表現
演習問題
• 各自、Moodleの演習問題に回答すること
–
–
–
–
回答締め切り 4/25(水) 20:00 (厳守)
最初の回答の点数を評価に考慮する(20%)
回答には制限時間があるので注意すること
回答後には、点数のみが表示される
• 正解はまだ表示されない
– 締め切り後には、正解や解説が表示される
– また、締め切り後に、復習用の演習問題を追加