東京農業大学 東京情報大学 附属第一高等学校・中等部 附属第二高等学校 附属第三高等学校・中等部 CG基礎理論 松下孝太郎 東京情報大学 総合情報学部 学校法人 東京農業大学 東京農業大学 東京情報大学 附属第一高等学校・中等部 附属第二高等学校 附属第三高等学校・中等部
連絡先 ■Tel/Fax 043-236-1349(研究室直通) ■E-mail matusita@rsch.tuis.ac.jp ■URL http://www.tuis.ac.jp/~matusita/
学習の目標 CGの基礎理論の概要を理解することを目指します。
CGとは CG(Computer Graphics)とはコンピュータによって描画される画像や映像である。映像に関してはCGアニメーションと呼ぶことがある。CGは描画処理に時間がかかるため、以前は専用のWS(WorkStation)で処理されていたが、近年はPC(Personal Computer)の高性能化により、PCでも容易に処理できるようになった。
CGの作成手順 モデリング レンダリング
モデリング モデリングとは物体の位置、光源の位置、視線の位置を指定することである。一般に、三次元座標により指定する。 モデリングの例
モデリングの種類 ワイヤーフレームモデル サーフェイスモデル ソリッドモデル
ワイヤーフレームモデル ワーヤーフレームモデル(Wire-frame model)は立体の骨組みのみを表示したものである。また、三角メッシュにより立体を表現する方法もある。
サーフェイスモデル サーフェイスモデル(Surface model)、立体の表面のみを表示したものである。地形の表示などに使用される。
ソリッドモデル ソリッドモデル(Solid model)、立体の内部まで全て表示したものである。処理するデータ量が多くなる。
レンダリング レンダリングとは、モデリングした位置情報によりCGを描画することである。
レンダリングの種類 正射影 透視投影
正射影 正射影(Orthogonal transformation)は近くのものでも、遠くのものでも同様に投影する方法です。 視点 投影面
透視投影 透視投影(Perspective transformation)は近くのものは大きく、遠くのものは小さくなる投影方法です。私たちの日常的な感覚と同じ投影方法です。 投影面 視点
立体の表現の種類 CSG(Constructive Solid Geometry) メタボール ボクセル
CSG表現 CSG(Constructive Solid Geometry)表現は、立体の基本構成要素(プリミティブ)による空間的集合演算による表現方法である。 結合 交差 差 併合
メタボール 球の集合体により立体を表現し、色調も立体の重なり方から算出し表現する方法である。
ボクセル 3次元立体画素による表現である。ボリュームデータを扱うことから、画素(pixel)にならいボクセル(voxel)と表現している。医療分野におけるCTやMRIによる3次元再構成などに利用されている。 http://www.voxelcg.com/showreel/ http://softwarecommunity.intel.com/articles/eng/2354.htm
光源の種類 平行光源 点光源
光の種類 反射光 透過光 環境光
陰影付け 陰影付け(Shading)とは、物体の形状や光のあたり方による物体上の濃淡付けのことです。
CG製作 ~CG開発言語POV-Ray~
POV-Ray公式サイト http://www.povray.org/ POV-Ray(Persistence of Vision Ray Tracer)とはモデリングからレンダリングまでを行うCG開発用のフリーソフトウェア(CG用言語)である。記述形式はC言語と類似している。 POV-Rayの統合開発環境 POV-Ray公式サイト http://www.povray.org/
シーンファイルの基本構造 #include “colors.inc” #include “shapes.inc” camera{ location<3, 3, -10> look_at<0, 0, 0> angle 30 } light_source{ <-3, 5, -5> color White } object{ Sphere pigment{color Orange} } 視点 ライト 物体
シーンファイルの基本構造(背景付) #include “colors.inc” #include “shapes.inc” camera{ location<3, 3, -10> look_at<0, 0, 0> angle 30 } light_source{ <-3, 5, -5> color White } object{ Sphere pigment{color Orange} } plane{y, -100 pigment{Plum}} 視点 ライト 物体 背景 ※背景に光が反射し全体が明るくなる。
基本図形
基本図形の書式
彩色の書式
マッピング : #include “textures.inc” : : object{ Sphere texture{DMFWood4} } テクスチャマッピング : : object{ Sphere normal{agate 0.9} } バンプマッピング
スポットライト Light_source{<x, y, z> color 色名*光の強さ spotlight point_at<xp, yp, zp> radius 角度 falloff 角度 }
アルファ値による透過 object{ Cube pigment{rgb<1.0, 0.65, 0, 0.9>} }
大気効果 : : Sky_sphere{S_Cloud5}
座標変換の書式
並行移動
回転
拡大/縮小
立体演算の書式
立体演算 結合 交差 差 併合
立体演算(例) union object{ Sphere pigment{color Orange} } cylinder{ <0, -1.5, 0>, <0, 1.5, 0>, 0.5 pigment{color Orange} } }
アニメーション作成 プルダウンメニューから「Render」「Edit Setting/Render」の順で指定し、「Render Setting」ダイヤログボックスの「Command line options」に+KFF数値を入力する。最後に「Set but don’t Render」ボタンをクリックするとアニメーションが表示される。 object{ Sphere pigment{color Orange} translate<0, 0, 5*clock> } シーンファイルの例
CG作品 ~CG開発言語POV-Ray~
静止画例(1) 松下研究室学生作品(2007年,3年生製作)
静止画例(2) 松下研究室学生作品(2007年,2年生製作)
静止画例(3) 松下研究室学生作品(2007年,2年生製作)
静止画例(4) 松下研究室学生作品(2007年,2年生製作)
※絵をクリックすると関連ページが表示されます(インターネットへの接続が必要です)。 静止画例(5) ※絵をクリックすると関連ページが表示されます(インターネットへの接続が必要です)。 POV-Rayコンテストより http://www.irtc.org/
※絵をクリックすると動画が再生されます(インターネットへの接続が必要です)。 アニメーション例(1) ※絵をクリックすると動画が再生されます(インターネットへの接続が必要です)。 松下研究室学生作品(2007年,4年生製作)
アニメーション例(2) POV-Rayコンテストより http://www.irtc.org/ ※絵をクリックすると動画が再生されます(インターネットへの接続が必要です)。 POV-Rayコンテストより http://www.irtc.org/
※絵をクリックすると動画が関連ページが表示されます(インターネットへの接続が必要です)。 参考 (Flashアニメーション) ※絵をクリックすると動画が関連ページが表示されます(インターネットへの接続が必要です)。 学生作品(2007年度)
参考ホームページ(1) 松下研究室(研究分野) 松下研究室(基礎演習II) http://www.rsch.tuis.ac.jp/~matusita/study.html 松下研究室(基礎演習II) http://www.edu.tuis.ac.jp/~matusita/kisoenII.html
世界規模で行われている POV-RayによるCGコンテストです。 参考ホームページ(2) POV-Ray開発環境ダウンロード http://www.povray.org/ POV-Rayコンテスト http://www.irtc.org/ 世界規模で行われている POV-RayによるCGコンテストです。
参考文献(1) 教養の情報科学 松下孝太郎、他、共著 北大路書房 ISBN:4-7628-2519-0 ※第11章 CGにおいて解説
参考文献(2) POV‐Rayで学ぶ実習コンピュータグラフィックス 3次元CGの基礎と応用 小室日出樹著 アスキー ISBN:4-7561-3367-3 3次元CGの基礎と応用 千葉則茂、土井章男共著 サイエンス社 ISBN4-7819-0826-8
Tokyo University of Information Sciences Lab. Homepage http://www.rsch.tuis.ac.jp/~matusita/