Computer graphics 入門

Computer graphics 入門
VRMLを使用したCG
1.1 Computerの歴史
(1)自動計算システム
ブール代数(1854年)+2進法
+スイッチ回路 ⇒ 1940年後半
(2)プログラム内臓式computer(現在のもの)
集合論(1895年、カントール)+ラッセルの
パラドックス+ヒルベルトのプログラム+ゲー
デルのアルゴリズム+チューリングの万能
チューリングマシーン(1936年) ⇒ 1950
年頃
2
1.2 CGの歴史
• 1960年:ボーイング社がコックピットの設計
に人型の図(ヒューマノイド)を作成
• 1961年:computer game, Spacewars
• 1963年:CAD(Computer Assisted Design)
• 1985年:Xerox 社がGUIの提唱
• 1990年:WWW提唱
• 1997年:VRML2.0 制定
3
2.1 CGのプロセス
1 モデリング:表示物体やその物体の移動・変
形を数学的に定義する。
2 レンダリング:定義された物体を抽象空間で
作成して、定義された移動・変形を行う。
3 投影:レンダリングで作成された像を2次元
のディスプレイに投影する。
4 陰線・陰面を消去する。
5 光線処理を行う(陰影をつける)
4
2.1 CGのプロセス(続き)
5 光線処理を行う(phone model による物質
光線をつける)
6 テクスチャーマッピング(模様をつける)
7 アニメーションや対話による操作をつける。
8 スプラインやベジエ曲線による複雑な曲線・
曲面の作図
5
3 CGの座標系
•
2DCGの場合
横が第一座標、X軸
縦が第二座標、Y軸
• 3DCGの場合
横が第一座標軸、X軸
縦が第二座標軸、Y軸
前が第三座標軸、Z軸
• 数学では縦がZ軸なので注意
6
4.1 VRMLの基本
• 3DCGで必要な陰線・陰面処理と陰影
(シェーディング)を自動的に行う。
• 対話処理を自動的に行う。
• ネットワーク対応である。
• VRMLビューアプラグインが必要である(フ
リーで手に入る)
• 統合環境がない(エディターで作る)、デバッ
グ機能はビューアが持っている。
7
4.2 VRMLのモデリング
• 直方体(box)、球(sphere)、円柱(cylinder)、
円錐(cone)はパラメータを入れるだけで定義
できる。
• それ以外の複雑な立体図形はCGのモデリン
グ理論を採用している。
例,多面体(polygon)を張り合わせるsurface
model,引き抜き図形を作るスウィープモデ
ル,3D地図にelevation grid,ワイヤーフレー
ムモデル等
8
4.3 VRMLのプログラミング
• プログラムの構造は object 指向型プログラミング
(scene graphics)であって、積み木細工の要領で
作成する。
• 従って、全体が木構造になっていてわかり易い。
• 定義した立体の再利用やモジュール化はできるが、
外部からパラメータを操作できない。
• アニメーションや対話は ROUTE 制御という方法を
使うが、内部で計算できないために中間値データの
量が非常に大きくなる。
9
4.4 VRML詳細
• 色彩は光の3原色,赤(R),緑(G),青(B)の強
度をこの順で指定する。値は0~1の間
例:白 1 1 1,黒 0 0 0,赤 1 0 0,
黄 1 1 0,金色 0.8 0.7 0.3
• 角度は弧度法を使う
例:360°=2×π=6.28318
180°=π=3.14159
90°=π/2=1.5708
10
4.4 VRML詳細(続)
• 円柱,円錐は縦方向(y 軸方向)が標準方向
• 基本図形は中心が座標原点に来るのが標準位置
• 図形定義の基本文
DEF name Transform{
rotation 1 0 0 0.0 # 回転軸 回転角度
translation 0 0 0 scale 1 1 1
children[ Shape{ geometry 図形の定義
appearance 光線の定義}
] }
11