2013 年度 メディア処理演習 コンピュータ・グラフィックス...度excel...

29
1 2013 年度 メディア処理演習 コンピュータ・グラフィックス 担当者: 健山智子 テキスト作成: 健山智子 1.目的 コンピュータ・グラフィックス(CG)は計算機と・グラフィックス周辺装置を用いて画像や映 像の生成を行う技術,あるいはそれらによって作成された画像や映像を示すものであり,今日のマ ルチメディア技術において必要不可欠な存在である.本講義では,実際にExcel,コンピュータ・グ ラフィックスソフトウェア(Metasequoia)を用いて直感的に理解し,実際にCGプログラミングでは再 Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める. 2. 本テーマ演習における実験環境: 本テーマ演習における実験環境は以下のとおりである. OSWindows XP ソフトウェア:Metasequoia プログラミング:Excel VBA 2010 グラフ作成:Excel 2010 2. 本テーマ演習の課題 以下の課題について,講義時間内に演習を行い,最終レポートとして提出する. 課題1:CG の概要,Excel によるグラフィック作成 課題2:Metasequoia による CG 作成 課題3:Excel VBA を用いた3D-CG 作成 3.本テーマ演習における資料と教材とデータ 本テーマ演習で用いる教材ソフトウェアと画像データ,サンプルコードは以下の場所からダウン ロード出来る. http://www.ritsumei.ac.jp/~tomoko/Lecture/Mediashori/CG / ExcelCG.zip ---------- 各週の教材用 Excel データの / Text.zip ---------------各課題の資料 /All.zip ---------------上記全てのデータ これらのデータは本テーマ演習 6 回とも利用するので,USB などにバックアップをとるように心がけ

Upload: others

Post on 06-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

1

2013 年度 メディア処理演習

コンピュータ・グラフィックス 担当者: 健山智子

テキスト作成: 健山智子 1.目的 コンピュータ・グラフィックス(CG)は計算機と・グラフィックス周辺装置を用いて画像や映

像の生成を行う技術,あるいはそれらによって作成された画像や映像を示すものであり,今日のマ

ルチメディア技術において必要不可欠な存在である.本講義では,実際にExcel,コンピュータ・グ

ラフィックスソフトウェア(Metasequoia)を用いて直感的に理解し,実際にCGプログラミングでは再

度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

2.本テーマ演習における実験環境: 本テーマ演習における実験環境は以下のとおりである. OS:Windows XP ソフトウェア:Metasequoia プログラミング:Excel VBA 2010 グラフ作成:Excel 2010

2.本テーマ演習の課題 以下の課題について,講義時間内に演習を行い,最終レポートとして提出する.

課題1:CG の概要,Excel によるグラフィック作成 課題2:Metasequoia による CG 作成 課題3:Excel VBA を用いた3D-CG 作成

3.本テーマ演習における資料と教材とデータ 本テーマ演習で用いる教材ソフトウェアと画像データ,サンプルコードは以下の場所からダウン

ロード出来る. http://www.ritsumei.ac.jp/~tomoko/Lecture/Mediashori/CG

/ ExcelCG.zip ---------- 各週の教材用 Excel データの / Text.zip ---------------各課題の資料 /All.zip ---------------上記全てのデータ

これらのデータは本テーマ演習 6回とも利用するので,USBなどにバックアップをとるように心がける

Page 2: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

2

4.演習の進め方 ・ 担当者の方ではじめに CGの基本原理について説明を行う. ・ 説明後,コンピュータを用いて,テキストに従って演習を進める. ・ 自身のペースに合わせて課題を進める ・ 演習課題で質問やコメント等があれば,教員,TAに質問する 5.レポート提出と注意事項 ・ レポート提出は,テーマが終わった次週(6月15日火曜日)の 17:00までに学びステーションに提出すること

・ レポートでは,自分が行った演習内容について説明し,必ず実行例を付けること. ・ 演習を進める上で参考にしたWebsiteや文献などがあれば,必ず記載すること. 6.参考文献 [1] 奥富正敏,他,「デジタル画像処理」,画像情報教育,CG-ARTS 協会,2012. [2] 田村秀行,「コンピュータ画像処理」,オーム社,2002. [3] 荒屋真二,「明快 3 次元コンピュータ・グラフィックス」,共立出版, [4] 澤見英男,「表計算ソフト「エクセル」を用いたコンピュータ・グラフィックス」, 岡山理科大学情報科学科

[5] 坂本尚久, 小山田耕二, 「Excel で学ぶコンピュータグラフィックス技術入門」, コロナ社 (2011 年)

Page 3: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

3

課題1:コンピュータ・グラフィックスの概要 本課題は初めてコンピュータ・グラフィックス(CG)を行うにあたり,表計算ソフトウェア

(Excel)を用いて,CG の概要について理解する.Excel による CG 制作の資料は岡山理科大学

の情報科学科澤見先生の資料を参考に作成した資料である. はじめに,CG の概要,CG 制作の流れ,画像処理でも用いる幾何学変換にについて理解する。

CG の基礎を理解した後,2 次元 CG と 3 次元 CG の違いについて例題を示しながら理解した後,

実際の演習では Excel を用いて幾何学情報からどのように CG が制作できるか理解する。

1. CGとは CG とは,計算機による処理を用いて生成された画像や動画像,あるいは,生成する技術を示し,

座標とベクトルを計算することで,仮想空間上に各種のオブジェクト(物体,光源,視点など)を記

述・配置し,その視点から仮想空間がどのように見えるかについて,投影面(モニタやプロジェク

タなど)に描画する技術を示す。一般的にコンピュータ・グラフィックスというと,3 次元 CG のこ

とを示す事が多く,その利用としては CAD を用いた工業建築から物理シミュレーション,ゲーム,

医療等多くの分野で利用されている。

2. 2次元 CGと 3次元 CGの違い 2 次元 CG と 3 次元 CG の大きな違いは,取り扱う次元が最も大きなところであろう.図 1−1

に2次元 CG と 3 次元 CG の違いを示す。図 2 −1からも理解できるように,2 次元 CG はあくま

で 2 次元で定義した座標系に基づいて処理を行う。つまり,縮小や回転に特化した内容の処理

というのが 大きな処理である。そのため,ドローツールなどがよく 2 次元 CG の概要として挙

げられる。

図 2−1:2 次元 CG と 3 次元 CG の違い

1.1  3次元CG技術

3次元CGの概念

仮想3次元空間に各種のオブジェクトを配置し、その視点から3次元空間の世界がどのように見えるかを、2次元スクリーンに描画する技術

2次元CGと3次元CGの違い

2次元座標系で定義された

データを扱う

3次元座標系で定義されたデータを扱う

注目:右図の画像3,4,5

Page 4: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

4

3. CG制作の流れ CG 制作は大きく以下の流れに従って行われる(図 3-1).

(1) モデリング (2) マテリアルの設定 (3) アニメーション (4) シーン設定 (5) レンダリング

図 3-1:CG 制作の流れ

(1) モデリング i. ポリゴンを用いたモデリング

CG では,描画したい物体の形状,位置,大きさなどをデジタルデータとして表現する必要が

ある。この様な作業をモデリングとよび,CG 制作において最も労力を要する作業である。また,

このモデリングにより定義された物体をモデル(オブジェクト)という。モデルは仮想空間上にお

ける物体の形状を示している。 2次元空間上では2次元座標(x, y)のみを利用して,線や曲線を求め描画することが出来る。

しかし,3次元空間 CG は座標系を(x, y, z),つまり,点による表現となり,点の基本的な要素

の組み合わせによって3次元空間上に直線や曲線で構成された面を定義し,面同士を組み合わ

せ,立体を表現するだけでなく奥行きについても表現計算できるよう拡張されている。このよ

うな,点の組み合わせによって表現される基本的な要素を「ポリゴン(Polygon)」といい,CG 表

現法を利用することで面と面との組み合わせで立体を表現することが可能となる。直感的な理

解として,以下の単純な単球を示す式を用いて理解する。 x2 + y2 + z2 = r2 (1)

式(1)は任意の座標(x,y,z)が原点(0, 0, 0)からの距離 r2を満たす式を示している。上式を満たすよ

うなモデルを表示画面上に立体的に表現する必要がある。この時,各頂点との間で,十分な点

Page 5: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

5

数を取ると単球が描画できるが,コンピュータのメモリの関係上,そのような無限大の点をと

ることは非常に難しい。そこで,実際には多角形である基本的な要素を複数組み合わせること

で,立体的な近似を行うことが出来る。この時に利用される基本的な要素(多角形)がポリゴ

ンである。図 3−2 にポリゴンを用いた単位球の3次元表現を示す。実際に各面は四角形の面で

それぞれ頂点を結び,形状を表現していることが確認できる。

図 3−2: ポリゴンを用いた3次元空間上における単位球の表現 (出典:デザイナの視点で見た3DCG のススメ

http://3dcg.homeip.net/3d_reading/modeling/hole_edge/surface_boolean_07.php) 上記の様な単純な単位球であれば,形状表現は非常に簡単だが,CG において,情報を描画する

対象としては,人体臓器,飛行機,など形状は複雑であるため,その曲面全てを数式などによ

って表現することは困難である。この様々な表現において,ポリゴンが利用される。ポリゴン

数の違いによる複雑形状の表現を示した図を図 3−3 に示す。数値はポリゴン数を示しており,

数値が高ければ高いほど,より立体的でリアリティな形状を表現していることが理解出来る。

図 3−3: 飛行機モデルのポリゴン数の違いによるモデルの表現比較

ii. パーティクルを用いたモデリング パーティクル( Particle)とは小さな粒子を意味し,この集合体に酔って形状が不定で明確な境

界線を持たない(例:雲や煙突の煙等)曖昧な対象のモデリングに利用される。パーティクル

を大量に用いることで,複雑な物理運動や彗星,爆発時の表現など作成時において人手では正

確に表現が難しい,膨大な時間を要するモデリングなどに利用される。魚の群れや人の動きな

どのシミュレーションにも応用が可能なモデリングであり,アニメーションに多く用いられて

いる。

5.3  インターネットとモデリング

5.3.3  プログレッシブメッシュ(progressive  mesh)

応用例;

①3次元データのプログレッシブ伝送(progressive  transmission)

先ず、粗いメッシュデータを送り、順次、詳細化データを送ることで、次第に詳細をはっきりさせる.

メッシュ数の膨大な3次元形状データをダウンロードする場合、直ぐに大まかな形状が分かり、次第にメッシュが細かくなり詳細がはっきりしてくる.

しかし、データ量が削減されるわけではない.

Page 6: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

6

図 3−4:パーティクルによる煙突煙のモデル表現

iii. ボクセル表現によるモデリング ボクセル(Voxel representation)は 3 次元形状の表現に用いられる表現であり,3次元空間内部

の属性を可視化するボリュームビジュアライゼーションのための表現法である。オブジェクト

を3次元的に中身の詰まったボリュームとして捉えることで,この3次元空間内の各点が持つ

データをボリュームデータとして可視化する。ボクセル表現の直感的な理解として,図 3−5 に

ボクセル情報を示す。ボクセルとは,ボリュームデータを表現する際の最小単位に当たるデー

タであり,2次元画像のピクセルとよく対比して利用されている。このボクセルデータを用い

たボリュームデータは人体の筋肉や骨の含有量を始め,温度や気圧などの可視化に利用される。

このボリュームモデリングは中身の詰まったデータを示していることから,そのボリュームは

非常に膨大であり,全体像を直感的に理解しづらいなどの問題もあるが,情報の内部を理解し

やすい等の利点も挙げられる。先述説明した,ポリゴンはこのボリュームモデリングとは異な

り,表面上のデータを提示することから「サーフェスモデル」と呼ばれている. 図 3−6 にボリ

ュームモデルとサーフェスモデルの比較を示す。この2つの図からも理解できるように,図 3−6 の(a)ボリュームデータはボクセル内部の情報が詰まっており,サーフェスモデルのデータ

はその表面の部位のみで情報を表現していることが理解出来る。

5.1  特殊なモデリング手法

5.1.2  パーティクル表現

小さな粒子の集合体で形が不定で明確な境界面をもたない曖昧な対象を表現する.

炎、雲、滝、等はパーティクル表現に向いている.

パーティクルシステム:

大量のパーティクルの複雑な物理運動など、人手では再現できない動きや、作成には膨大な手間がかかる動きに対処するためのアニメーション手法.

Page 7: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

7

図 3−5 ボリュームデータのボクセル表現

(a) ボリュームモデル (b) サーフェイスモデル 図 3−6 :ボリュームモデルとサーフェスモデルの比較

(出典:OsiriX 入門 オンライン解説文書 http://ja.wikibooks.org/wiki/)

iv. その他の表現によるモデリング CG には他にも多くのモデリング方法が挙げられる。例えば,フラクタル表現,メタボール表

現,など,表現方法はその用途に応じて多く挙げられる。本講義では時間と課題の関係上割愛

するが,ぜひ検討されたい

5.1  特殊なモデリング手法

5.1.3  ボクセル表現

ボリュームビジュアライゼーション:3次元空間内部の属性を可視化する表現法

オブジェクトを3次元的に中身の詰まったボリューム

として捉え、この3次元空間内の各点がもつデータで

あるボリュームデータを可視化する.

大気の例;風向、風力、温度、気圧、等

人体の例;筋肉や骨の含有量

ボクセル/Boxel vsピクセル/Pixel

課題:

画像の数が膨大となる

任意の角度から見えない

全体像を直感的に把握しずらい

Page 8: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

8

(2) マテリアル設定(マッピング) マテリアルとは表面素材のことであり,3D-CG においては物体表面上の質感設定を行う。この

質感設定は大きく表面材質の設定とテクスチャマッピングという2つのアプローチが基本とな

る。 (3) アニメーション 3次元 CG のアニメーションは,予め一コマずつレンダリングしておき,実行時にそれらを再

生する方法と,実行時に一コマずつリアルタイムでレンダリング方法が挙げられる。アニメー

ションでは,物体の移動や回転,視点の移動や回転などを伴って頻繁に3次元座標の変更が行

われる。

(4) シーン設定 モデルの表現,配置が終了したオブジェクトに対し,ただ単純にポリゴン表面に色を塗装した

だけではリアル感がない。また,3 次元仮想世界をどこからの角度から眺めるかを決定しない

と 2 次元画像が決まらない。これらをおこなうことが視点・光源の設定である。この視点・光

源の設定は世界座標(後ほど紹介)で決定され,視点の設定はカメラアングルの決めるところ

による。

(5) レンダリング 上記すべての処理によって決定した条件に基いて,仮想的なカメラ投影面に実際にシーンを

描画する処理をレンダリングという。レンダリングは手前の面によって遮られる面を描画しな

いようにすることで,オブジェクトの前後関係を明確にする「隠面処理」後,陰影や模様,光

学的幾何を利用した反射・透明度,屈折効果を表現し,投影面上で描画するのが一連の流れと

なっている。 演習 1:Excelを用いたコンピュータ・グラフィックス Excel を用いて実際に2次元モデルを作成してみる。演習 1 では簡単に 2 次元 CG を作成する。以

下の手順に従って,図を完成させよ。

① 2DCG.xls を開き,中身を確認する

② シート「2DCG」を開いて,中身を確認する

③ セル番号 C2 は円周率を入力するセルである。C2 に「=pi()」を入力する

④ セル番号 E2 は円の半径を入力するセルである。E2 に「10」を入力する

⑤ セル番号 G2 は角度の変更単位を入力するセルである。G2 に「5」を入力する

⑥ 列 A6:A78 は度数法による各角度が入力される。A6 に「0」,A7 に「=A6+$G$2」を入

力する。入力後,A7 を A78 までセルコピーが出来るようにドラッグする。

⑦ 列 B6:B78 は弧度法による各角度(ラジアン)が入力される。B6 に B5 の弧度法変換を参考

に「=$A6*($C$2/180)」を入力する。入力後,B6 を B78 までセルコピーが出来るよう

Page 9: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

9

にドラッグする。

⑧ 列 C6:C78, D6:D78 は 単位円を示すための各座標(x1,y1)がそれぞれ入力される。x1

について C6 に H14 の単位円における x1 の座標式を参考に「= $E$2*COS($B6)」,同様

に y1 について,D6 に H14 の単位円における y1 の座標式を参考に「=$E$2*SIN($B6)」,を入力する。入力後,各列を 78b 番までセルコピーが出来るようにドラッグする。

⑨ 列 C6:C78, D6:D78 に定義された座標をグラフで表示するため,マウスで列 C6:C78, D6:

D78 を選択後に「挿入」→「散布図」を選択する。

⑩ 列 E6:E78, F6:F78 は 螺旋円を示すための各座標(x1,y1)がそれぞれ入力される。⑦の

方法を参考に,螺旋の式(x2, y2)を求める。尚,座標変換式は H

31 の各座標を参考にすること。

⑪ ⑨と同様に,⑩にて定義された座標をグラフで表示する。

⑫ 各グラフについて,半径を変更するとどのように表示出来るかを確認する

Page 10: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

10

4. 3次元座標系と 3次元幾何学変換 CG を取り扱うにあたり,重要なテーマは座標系と幾何学変換の話である。座標系はモデリン

グの位置や移動のみだけでなく,光源や視点の位置等を決定する。更に,3 次元幾何学変換で

は,オブジェクト等の移動,回転,拡大縮小等に対しても 3 次元座標系は CG を取り扱う上で非

常に重要な知識である。ここでは,はじめに CG の座標系の概要について触れ,3 次元空間上に

おける幾何学変換,幾何学変換の基本として用いられる 3 次元アフィン変換及び同次座標系に

よる幾何学変換,合成変換について学習する。

(1) 右手座標系と左手座標系 CG における 3 次元座標系は直交座標系である。直交座標系とは 3 次元空間上において,各軸が

互いに直交関係となる 3 軸(X 軸,Y 軸,Z 軸)で構成された座標系である。 CG などで利用される座標系の表現について,図 4−1 にそれぞれ示す。CG では代表として,図 4−1(a)の右手系を用いる。右手の人差し指を天井に,そして,中指を手前に向けた手の形状を用いる

と,親指方向を X 軸,人差し指の方向を Y 軸,中指方向を Z 軸として用いる。このように,CG で

は座標軸の方向は重要な役割を持つ。例えば,ポリゴンを記述する際,ポリゴンの法線の向きを考

慮することで光の反射方向を決定し,その点の輝度計算に用いられるものであることからも,座標

系の向きを理解しておくことは非常に重要なことであると言える。

図 4−1 :3DCG などで利用する 3 次元座標系

この時,右手系において,より理解しやすいのが右ねじの法則である。右ねじの法則は図 4−2 に示

されるように,主に回転軸の定義に利用される。親指は回転軸の方向であり,その他の指の周り方

向は,正の回転方向として定義されている。この右ねじの法則を利用する際,別の見方として,我々

はしばし,数学等で横軸方向を x 方向として定義することがある。従って,右ねじの法則における

親指方向を横軸右側に倒すようにすると,X 軸方向に親指を見て,さらに手のひらを見ることにな

る。この手のひらこそが表,いわば正の方向を示すことから,Y 軸方向は手のひらが向いている方

向であると考えられる。さらに親指以外の指は Z 軸方向に向かっていると考え,より簡単な座標系

の表現が身につくことになる。

2.1  3次元座標

2.1.1  3次元座標系の必要性

形状オブジェクト、光源、音源、カメラ

位置と向きを定義

2.1.2    直交座標系と右手系

直交座標系(デカルト座標系)

右手系

左手系

Page 11: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

11

図 4−2 :右ねじの法則に基づく3DCG の座標系表現 (2) ワールド座標とローカル座標 CG では図 4−3 に示すように,3 次元空間上のモデルに対して空間全体の座標と対象モデルに対

する座標の 2 つについて,考える必要がある。前者をワールド座標,後者をローカル座標という。

ワールド座標は CG 空間上の 3 次元的な位置情報を示し,必ずひとつの座標系で提示されるはずで

ある。その一方,ローカル座標は 3 次元世界に存在する個々のオブジェクトを記述するための座標

である。モデルを移動する際には,ここの部品をワールド座標で移動することは可能であるが,オ

ブジェクト全体における部品を全て移動あるいは回転させるなどの処理が大変になってしまう。こ

のオブジェクトを全体でひとまとめにし,オブジェクトに対して座標系を設けることでこの座標系

のみの移動ですむことになる。

図 4−3:ワールド座標とローカル座標 (3) 3次元幾何学変換 3 次元座標系における 3 次元幾何変換の種類は以下のとおりである。これらの変換の概要を説明

したものが図 4−4 である。 (i). 平行移動

2.1  3次元座標

2.1.3  ワールド座標とローカル座標系

ワールド/グローバル座標系・・・必ず1つ必要

ローカル/モデリング/オブジェクト/ボディ座標系・・・

個々のオブジェクト用

2.2  3次元幾何変換

2.2.2  同時座標系と3次元アフィン変換

(3)  回転

10000cos1cossincos1sincos10sincos1cos1cossincos10sincos1sincos1cos1cos

,,,,,,,

2

2

2

zxzyyxz

xzyyzyx

yxzzyxx

zyx

rrrrrrrrrrrrrrrrrrrrr

R

zyxpradianrrrvectorzyxp

Page 12: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

12

(ii). 拡大変換(スケール変換,拡大縮小変換) (iii). 回転 (iv). せん断(オブジェクトを斜めに押しつぶすような変換) (v). 鏡面(任意の平面に対して鏡像を生成する変換)

図 4−4:ワールド座標とローカル座標 (4) アフィン変換 幾何学変換の最も基本的な処理は「平行」,「回転」,「拡大縮小」である。図 4-5 のような点の移

動について考える。点 P(x, y, z)から点 P’(x’, y’, z’)へ座標が変換されている。このよう座標変換のこ

とをアフィン変換といい,ここでは 3 次元の情報を取り扱っていることから 3 次元アフィン変換と

定義され,下式で表現出来る

x ' = a11x + a12y+ a13z+ a14y ' = a21x + a22y+ a23z+ a24z ' = a31x + a32y+ a33z+ a34

!

"##

$##

(2)

ここで,式(2)と図 4−5 からも理解できるように,a14, a24, a34, は x, y, z 成分の平行移動量,a11, a21, a31,は x, y, z 成分の拡大縮小,a12, a13, a21, a23, a31, a32, は回転の時,0 以外の値となる。この式(1)を, 行列を用いて表現すると下式が成立する。

x 'y 'z '

!

"

###

$

%

&&&=

a11 a12 a13a21 a22 a23a31 a32 a33

!

"

####

$

%

&&&&

xyz

!

"

###

$

%

&&&+

a14a24a34

!

"

####

$

%

&&&&

(3)

ここで,右辺第1項左側は,行列の回転と拡大縮小を示し,右辺第 2 項は平行移動を示す。

2.2  3次元幾何変換

2.2.1  3次元幾何変換の種類

平行移動

回転

スケール変換

せん断

反射

Page 13: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

13

図 4−5:アフィン変換の概念

(5) 同次座標と同次座標による座標変換 式(3)について,第2項の平行移動の各成分が第1項の行列積(拡大,回転)に取り入れて利

用出来るのであれば,すべての座標変換を行列積で統一できて扱いが便利になる。ここで,x, y, z以外にさらに1次元追加された座標について考える。 3次元空間の点 P についての位置を表現する場合,点 P の位置ベクトル座標(x, y, z)を用いた。この

点 P に対し,4つの実数組(s, t, u, w)を用いて下式が成立する式を点 P の同次座標という。

x = s /wy = t /wz = u /w

!

"#

$#

(4)

0でない,任意の倍率 w を追加して,4つの実数組み合わせ(wx, wy, wz, w)としたものが同次座標

であり,この同次座標をもとの座標系に戻すには,倍率 w を直接割ることで3変数を取り出すこと

になる。w=0 の時,同次座標(x, y, z, 0)は原点(0,0,0)から点(x,y, z)方向の無限遠点を見ることになる。

故に同次座標は無限遠点を取り扱える利点も挙げられる。同次座標を用いて,式(3)の変換を考える

と,式(5)が成立する。

x 'y 'z '1

!

"

####

$

%

&&&&

=

a11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a34a41 a42 a43 a44

!

"

#####

$

%

&&&&&

xyz1

!

"

####

$

%

&&&&

(5)

平行移動,回転,拡大を考慮すると,下式が導出されることから,式(2)と比較すると非常にコンパ

クトな表現で座標変換を表現することができる。

x 'y 'z '1

!

"

####

$

%

&&&&

=

a11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a340 0 0 1

!

"

#####

$

%

&&&&&

xyz1

!

"

####

$

%

&&&&

(5)

Page 14: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

14

この式(5)における行列式は座標変換行列であり,(i)平行移動, (ii)拡大,(iii)回転,などは次の通

りに表現が可能となる.

(i). 平行移動 平行移動は点 P(x,y,z)を点 P’(x+tx,y+ty,z+tz)に移動させる 3 次元座標変換であり,式(5)を用いると,

座標変換行列は下式が成立する

T =

1 0 0 tx0 1 0 ty0 0 1 tz0 0 0 1

!

"

#####

$

%

&&&&&

(6)

(ii). 拡大変換 拡大変換は点 P(x,y,z)を点 P’(sxx syy, szz )に変換させる 3 次元座標変換であり,式(5)を用いると,座

標変換行列は下式が成立する

S =

Sx 0 0 00 Sy 0 0

0 0 Sz 00 0 0 1

!

"

#####

$

%

&&&&&

(6)

(iii). 回転変換 回転変換は点 P(x,y,z)を各軸方向へ回転により,変換させた点 P’(sxx syy, szz )を求めるための 3 次元座

標変換である。しかし,座標系のどれを採用するかで,回転の正の方向は異なってくるため,注意

したい。ここでは,右手系座標に従って考える。任意の軸周りにおいて,その軸の正方向から原点

をみるとすると,反時計回りに回転する向きが正の方向であると仮定し,説明する。 式(5)を用いると,Rx ,, Ry,, Rz ,の方向における回転がそれぞれα, β,γ,とする時,座標変換行列

は下式が成立する。

Rx =

1 0 0 00 cosα −sinα 00 sinα cosα 00 0 0 1

"

#

$$$$

%

&

''''

(7)

Ry =

cosβ 0 −sinβ 00 1 0 0

−sinβ 0 cosβ 00 0 0 1

"

#

$$$$$

%

&

'''''

(8)

Rz =

cosγ sinγ 0 0−sinγ cosγ 0 00 0 1 00 0 0 1

"

#

$$$$$

%

&

'''''

(9)

尚,平行移動と回転は何度行なってもその形状自体を変化させることはない。このようなアフィン

Page 15: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

15

変換のことを剛体変換ともいう。 以上の幾何学変換を用いてオブジェクトの位置,形状などの情報を変換する。CG ではこれら個々

の座標変換を示す行列に対して合成することで複数の座標変換を一つの座標変換にまとめること

ができる。すなわち,座標変換を M1から順に M2, …, Mnと n 回行うことは,次式で示すように,

座標変換の行列をまとめた行列 M を求めることと同じである。 𝑀 =  𝑀! ∙  𝑀!!! ∙  ∙  ∙  𝑀! ∙  𝑀! (9)

このような,座標変換の行列をまとめた行列 M を合成変換という。合成関数を利用するにあたり,

最も気をつけなければならないのが,座標変換の順序によって結果が異なることである。図 4-6 に

おいて,平行移動と回転の順番の違いについて示す。

(a) X 軸に平行移動した後,Z 軸回りに 90°回転した場合 (b) Z 軸回りに 90°回転した後,X 軸に平行移動した場合

(a) (b) 図 4−6:座標変換の順序の違いによるオブジェクトの位置の影響

5. 3次元座標系の変換 3 次元 CG では,次の座標系を順にたどって最終的に投影面に描画されるようにする。これまで

説明したワールド座標,ローカル座標以外にも視点を基準とする視点座標系,投影面を基準とする

uvn 座標系などが使用される。このような一連の変換処理は座標変換パイプラインといい,図

5−1 に示すような,いくつかの変換処理ステージに分割される。

図 5-1:座標変換のパイプライン

2.2  3次元幾何変換

2.2.3逆変換と合成変換

オブジェクト 座標系

モデリング 変換

世界 座標系

ビューイング 変換

カメラ 座標系

投影 変換

ビューポート 変換

クリップ 座標系

正規化デバイス 座標系

オブジェクト 座標系

Page 16: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

16

(1) モデリング変換 モデリング変換では,オブジェクト座標系から世界座標系への変換を示す。一般に,オブ

ジェクト座標系上の点は4×4の変換行列(モデリング変換行列)Mmodel を用いて行列積で

世界座標系上の点へ変換する事ができる.この行列 Mmodelは3章で説明したスケーリング行

列 S,平行移動行列 T, 回転行列 Rを組み合わせてできる合成変換行列である。

(2) ビューイング変換 世界座標系からカメラ座標系への変換を表す。この変換は左手座標系を用いて示す。こ

の変換において,世界座標系上の点はビューイング変換行列 Mviewを用いてカメラ座標系上

の点へ変換する。この行列 Mviewはカメラの向きと位置から決定される行列であることを注

意する。 一般に,モデリング変換とビューイング変換は一括して行われることが多く,オブジェ

クト座標系からカメラ座標系への変換は「モデルビュー変換」とも呼ばれる。

(3) 投影変換 3 次元仮想空間を 2 次元の投影面に投影する変換である。3 次元 CG における投影変換は

大きく 2 つ,図 5-2 に示す(a)透視投影と(b)平行投影である。

(a)透視投影 (b)平行投影 図 5-2:透視投影と平行投影の比較

図 5−3 に示す透視投影では,同じ大きさの物体でも遠くのものは小さく近くのものは大き

く表示され,遠近感のある投影が行え,我々の実際に見た感じと近い見え方が得られる。

透視投影では,図 5−1 に一般的に互いに平行な稜線を延長すると全て同じ点で交差する。

このような点を消失点といい,消失点の数は物体のどこから見るかにより,1 点から 3 点

まで変化する。

3.2  投影変換/投影変換の種類

投影変換:

3次元仮想空間を2次元の投影面に投影する変換である

透視透明:遠くは小さく、近くは大きく表示、遠近感のある2次元画像が得られる

平行透明:同じ大きさの物体は視点からの距離に関係なく同じ大きさで表示される

Page 17: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

17

図 5-3:透視投影の概要

図 5-4:視点方向によって変化する消失点の概要

図 5−5 に示す平行投影は同じ大きさの物体は視点からの距離に関係なく同じ大きさで表

示される。通常のレンダリングでは,上述の透視投影を利用するが,平行投影は直接の大

きさを描画出来るので,モデリングの段階や製図作成に大いに利用される(図 5−6)。なお,

平行投影は視点が無限遠として捉えるので,消失点を持たないことも特徴の一つである。

図 5-5:平行投影の概要

3.2  投影変換/透視投影変換

透視投影変換:

ビュースクリーン(投影面)

透視図(透視投影図)

3.2  投影変換

消失点:

互いに平行な稜線を延長すると全て同じ点で交差する

3.2  投影変換/平行投影法

視点は無限遠にあり、全ての視線は平行

同じ大きさの物体は視点からの距離が異なっても同じ大きさになる

物体の平行な稜線は投影図でも平行になり、消失点を持たない

平行投影は、二次元画像を貼り付けるテキスチャマッピングで使用する

この時は、投影面は物体表面であり、平面とは限らない

Page 18: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

18

図 5−6:平行投影と透視投影の違い比較(平面図,正面図,側面図は平行投影)

(4) ビューポート変換 モニタには固有のデバイス系座標が存在し,モニタ画面内の座標値は画素(ピクセル)の整数

倍となっている。モニタ画面の大きさは固定だが,ユーザはマウスを介して任意の場所で

任意の大きさのウィンドウを開き,東映画像の最終的な領域を設定できる(図 5−7)。このデ

バイス座標系内の表示領域をビューポートといい,ビューポートはウィンドウとほぼ同じ

であるが,厳密ではウィンドウ内のメニューバーやスティタスバーなどの領域を除いた実

際の描画領域である。 投影面に投影された 2 次元画像からビューポートのサイズに応じて適当な矩形領域を切

り取り,モニタ上で指定されたビューポート上に表示する処理が必要である。この処理を

ビューポート変換といい,視点を固定してビューポートの位置とサイズを変化させて描画

した例が図 5−8 である, 仕様の異なる種々のモニタを統一的に扱えるように,デバイスドライバが間接的に描画

命令を出している。従って,モニタが変化した時にモニタのデバイスのみを変化されば良

いことになる。

3.2  投影変換/平行投影

平行投影による3面図とその透視図

Page 19: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

19

図 5−7:ビューポート変換概要

図 5−8:ビューポート(ウィンドウ)の位置とサイズを変化された時の投影範囲

3.3ビューポート変換

3.3ビューポート変換

Page 20: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

20

演習 2:Excelを用いたコンピュータ・グラフィックス Excel を用いて実際に 3 次元モデルを作成してみる。演習 2 では簡単に下式を満たすガウス関数

を作成する。

𝑧 = !!!!!

exp  (− (𝑥−𝑥0)2+(𝑦−𝑦0)

2

2𝜎2 )

以下の手順に従って,図を完成させよ。

① 2DCG.xls を開き,中身を確認する

② シート「Gaussian」を開いて,中身を確認する

③ セル番号 C1 は円周率を入力するセルである。C1 に「=pi()」を入力する

④ セル番号 E1 はガウス分布の分散σを入力するセルである。E1 に「4」を入力する.また,

セル番号 H1, J1 はガウス関数の中心を示す。H1, J1 にそれぞれ「0」を入力する

⑤ 列 B3 : AH35 は 先 に 示 し た ガ ウ シ ア ン 関 数 の 各 値 が 入 力 さ れ る 。 B3 に

「=(1/SQRT(2*$C$1*$F$1*$F$1))*EXP(-( ( ($A3-$H$1)*($A3-$H$1) )+( (B$2 -$J$1)*(B$2 -$J$1) ) )/(2*$F$1*$F$1))」を入力する。入力後,B3 を B35 までセル

コピーができるようにドラッグ&ドロップする

⑥ ⑤で選択された状態で,さらに,列 B3:AH35 までセルコピーが出来るようにドラッグ&

ドロップする。

⑦ ⑥に定義された座標をグラフで表示するため,⑥の選択状態でグラフの「挿入」→「その

他のグラフ」→「ワイヤーフレーム等高線」を選択し,グラフを表示する。

⑧ ⑦と同様に,「挿入」→「その他のグラフ」→「ワイヤーフレーム等値面」を選択し,グ

ラフを表示する。

⑨ 「グラフィクツール->レイアウト->軸->主横軸などと辿りオプション設定を用い

て,透視投影,回転などを試してみる。

⑩ 各グラフについて,各パラメータを変更するとどのように表示出来るかを確認する

Page 21: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

21

課題1:3次元 CGソフトウェアを用いた 3次元 CGの作成

1. 実験の目的 第1週目の実験では,市販の3次元CGアプリケーシ

ョンソフトを用いて3次元CGを作成することで,3次

元CGの制作過程,およびモデリング方法について学

ぶ.また,この実験を通して,一般的な3次元CGソフ

トの使い方を学ぶことも目的としている.

2. 実験環境 2.1 3次元 CGソフト

「3 次元 CG ソフト」は,3 次元 CG のモデリング(形

状の定義)やレンダリング(その表示)を行うソフ

トウェアである.現在,様々な「3 次元 CG ソフト」

が流通しており,工業デザインや映画,ゲーム,建

築など,数多くの分野で活用されている.代表的な

ソフトに,Maya や 3ds max などがあるが,本実験で

は,皆さんが自宅でもインストールして利用するこ

とができる,「メタセコイア」というフリーウェアを

使用する.

2.2 メタセコイアのインストール方法

メタセコイアは Windows OS 用のシェアウェア(※

有償版と無償版がある)なので,自宅 PC でも気軽に

利用することができる.以下の URL からダウンロー

ド可能で,インストール方法も記載されているので,

参考にすること.

http://www.metaseq.net/metaseq/index.html

本授業では,無償版 Metasequoia LE R2.3b を使用する.

3. 課題1:雪だるまの作成 3.1 目的

メタセコイアを使ったモデリングの基本を学ぶ.

3.2 初期設定

3.2.1 入門モードの解除

アプリケーション起動後,入門モードに設定され

ている可能性がある.メニューのファイルにある入

門モードの項目にチェックが入っているかを確認す

る.入っていれば項目をクリックし解除しておく.

3.2.2 画面の設定

本資料で登場するパネル,及び作成環境について

説明する(図 1).

図 1 作成画面

① コマンドパネル:編集に必要なコマンド・操作を

選択する.

② 操作パネル:移動,拡大,回転がドラッグのみで

行える.

③ オブジェクトパネル:新しいオブジェクトが作ら

れるたびに項目が作られる.

④ 材質パネル:オブジェクトの材質を設定する際に

用いる.

上記パネルが表示されていないときには,メニュ

ーバーから「パネル」メニューをプルダウンし,図

2 に示すように各パネルの項目をクリックしてチェ

ックを入れる.

作成環境は基本的に自由であり,利用者の使い勝

手に合わせてカスタマイズすることができる.本テ

キストで用いた作成環境の設定を図 2に記す.

② ③

④ 編集オプション

[パネル]メニュ

ー ビュー設定

Page 22: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

22

(a) ビュー設定

(b) 編集オプションと表示

(c) 操作パネルの表示設定

図 2作成環境の設定

また,「操作対象の選択」と「カメラ視点の移動」

の基本操作方法について,4 ページ右側囲み欄の補

足事項を適宜参照すること.

3.3 胴の作成

3.3.1 球の作成

まず初めに胴体部を作成する.胴体部はプリミテ

ィブの球を使用する.作業手順は以下の通り(図3).

(1) コマンドパネルの基本図形ボタンをクリックし,

表示された基本図形パネル内の球のアイコンを選択

する.

(2) その後詳細設定ボタンをクリックし,表示され

た詳細設定パネル内でオブジェクトのポリゴン数等

を設定する.

(3) 設定が終われば詳細設定パネルを閉じ(パネル

右上の×をクリック),基本図形パネルの作成ボタン

をクリックすると,メインウインドウに球が作成さ

れる(図 4).

図 3 基本形状の作成操作

図 4 球が作成される

3.3.2 変形

胴体部の球を Y 軸方向に縮小する.作業手順は以

下の通り(図 5).

(1)

(1)

2

(2)

(3)

チェック を入れる

注:手順 3.4.1 参照

パネルが開く

パネルが開く

Page 23: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

23

図 5 変形操作

図 6 球の変形(左は変形操作,右は変形後)

(1) コマンドパネル内の拡大ボタンをクリックし,

表示された拡大パネル内の Y 軸を選択する.

(2) メインウインドウに表示されたオブジェクトの

中心部分を下方向に少しドラッグする(図 6).(拡

大パネルの数字を変更して OK ボタンをクリックし

ても同等の結果が得られる.数字は倍率となってお

り,1.0 を 100%としている.)

3.3.3 移動

胴体部を移動する.作業手順は以下の通り(図7).

図 7 移動操作

(1) コマンドパネル内の移動ボタンをクリックし,

表示された移動パネル内の Y の値を入力する(ここ

では-20.00 を入力).

(2) 移動パネル内の OK ボタンをクリックすると,球

が Y 軸方向に移動する.(図 8)

図 8 移動前(左)と移動後(右)

3.4 頭の作成

3.4.1 球の作成

頭部も 3.3.2 の胴体部分と同様に,プリミティブ

の球を使用して作成する(図 3参照).但し,「作成」

ボタンを押す前に,詳細設定パネル内の「新規オブ

ジェクトとして作成」の項目にチェックを入れる(図

9).作成された球は,(0,0,0)を原点として作成され

るので,既に作成した胴体部分と重なって表示され

る.

図 9 新規オブジェクトを作成する際の注意

3.4.2 縮小

頭部の球を,胴体部分の球より小さくなるように

縮小する.作業手順は以下の通りである(図 10).

(2) ドラッグ(2) ドラッグ

(1)(1)

1

(1)

(2)

(1)

(1)

(2)

パネルが開く

パネルが開く

チェックを入れる

Page 24: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

24

図 10 縮小操作

(1) コマンドパネル内の拡大ボタンをクリックし,

表示された拡大パネル内の等比変形を選択する.

(2) メインウインドウに表示されたオブジェクトの

中心部分を下方向に少しドラッグする(図 11).(先

程と同様数値を変更してもよい.ここでは 0.5 倍に

する.)

図 11 縮小した頭部の球

3.4.3 移動

3.3.3 と同様に,頭部を移動する(図 7参照).

(1) コマンドパネル内の移動ボタンをクリックし,

表示された移動パネル内の Y の値を入力する(ここ

では 60.00 を入力).

(2) 移動パネルの OK ボタンをクリックすると,球が

Y 軸方向に移動する(図 12).

但し,頭部だけをうまく選択できない場合は,ま

ず図 13 のようにオブジェクトパネルで胴部のオブ

ジェクトを非表示にし,頭部のオブジェクトのみ表

示する.次にコマンドパネルの範囲ボタンをクリッ

クして,頭部を含む範囲全体をマウスで指定するか,

または投縄ボタンをクリックして,マウスで選択し

たい範囲を囲むことで必要なオブジェクトまたは移

動した面のみを選択することができる.

図 12 移動した頭部の球

補足事項

(1) 操作対象の選択

作成したポリゴンの,点,辺,面を選択するこ

とができ,思い通りに点や辺,面に対して操作す

ることが出来る.つまり,何らかの操作をする際

には,必ず操作の対象とするポリゴンを選択しな

ければならない.

【ショートカットキー】

Ctrl + a : 全選択

Ctrl + d : 全選択解除

Shift + 左クリック : 追加選択⇔選択解除

(トグル動作)

(2) カメラ視点の移動(右ドラッグ,ホイール)

作成するのは 3D オブジェクトであるので,当

然後ろから,下からと確認及び操作を行う必要が

出てくる.カメラの視点を変更するにはマウスや

ファンクションキーを用いて変更できる.また変

更したカメラの位置は,メニューの表示より視点

の変更より,初期値に戻すことができる.

【マウス】

右ドラッグ : 視点の変更

ホイール : カメラのズーム

【ファンクションキー】

F1 : 真横から(X 軸)

F2 : 真上から(Y 軸)

F3 : 正面から(Z 軸)

(1)

(1)

(2)

パネルが開く

Page 25: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

25

本テキストの末尾で紹介してある関連 Web に

その他の便利な機能が掲載されている.

3.5目の作成

3.5.1 球を作成して変形

(1) オブジェクトパネルの目のアイコンをクリック

して消し,オブジェクトを非表示にする(図 13).

図 13 オブジェクトの非表示

(2) コマンドパネルの基本図形ボタンをクリックし,

表示された基本図形パネル内の球のアイコンを選択

する.その後詳細設定ボタンをクリックし,表示さ

れた詳細設定パネル内でオブジェクトのポリゴン数,

大きさ等を設定する.このとき詳細設定パネル内の

「新規オブジェクトとして作成」の項目にチェック

を入れること(図 9).

(3) 今回は操作パネル(図 14)を使って拡大縮小を

し,目の形に変形する.操作パネルは移動,拡大,

回転コマンドをマウスの移動操作で簡単に実行でき

る.操作パネルがうまく動かないときは,コマンド

パネルで拡大ボタンを押した後に上記の操作を行う.

(4) まず Z 軸方向に縮小して球を平たくする.

(5) 次に X 軸方向に少し縮小し楕円形にする.

(6) 等比変形で目を全体的に縮小する(図 15).

図 14 操作パネル

Z 軸から見た画像 カメラ視点

X 軸から見た画像 Y 軸から見た画像

図 15 作成した目のオブジェクト

3.5.2 大きさと位置の調整

(1) オブジェクトパネルから頭部オブジェクトの目

のアイコンをクリックし,頭部オブジェクトを表示

する(図 16).

(2) 目の位置にオブジェクトを移動する.これも今

回は操作パネルを使用する(図 16).(このとき少し

目のオブジェクトを Z 軸中心,Y 軸中心などに回転

すると簡単に表情を作ることができる(図 17))

図 16 目の大きさと位置の調整

Z 軸から見た画像 Y 軸から見た画像

図 17 目を頭部に移動

(4)

(5)

(6)

(4)

(5)

(6)

(1)(1)

(2)ドラッグ(2)ドラッグ

(1)

Page 26: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

26

3.5.3 鏡像による複製

(1) 目を「鏡像」で複製する.メニューの選択部処

理から「面の鏡像を作成」を選択する(図 18).

(2) 鏡像の作成パネルより YZ を基準平面として選

択する.

(3) OK ボタンをクリックすると,YZ 平面を基準に

目が鏡像複製される(図 19).

図 18 鏡像の作成

図 19 目の鏡像複製(Z軸から見た画像)

3.6 その他のパーツ

3.6.1 鼻の作成

(1) コマンドパネルの基本図形ボタンをクリックし,

表示された基本図形パネル内の球のアイコンを選択

する.

(2) その後詳細設定ボタンをクリックし,表示され

た詳細設定パネル内でオブジェクトのポリゴン数,

大きさ等を設定する.このとき詳細設定パネル内の

「新規オブジェクトとして作成」の項目にチェック

を入れること.

(3) 縮小して鼻の位置に移動する(図 20).

図 20 鼻を配置(左:カメラ視点,右:Z軸から)

3.6.2 口の作成

(1) オブジェクトパネルの目のアイコンをクリック

して消し,全てのオブジェクトを非表示にする.

(2) コマンドパネルの基本図形ボタンをクリックし,

表示された基本図形パネル内の円柱のアイコンを選

択する.

(3) その後詳細設定ボタンをクリックし,表示され

た詳細設定パネル内でオブジェクトの V 方向のポリ

ゴン数を 2 とし,高さを 200 に設定する.このとき

詳細設定パネル内の「新規オブジェクトとして作成」

の項目にチェックを入れること(図 21).

(4) 基本図形パネルの作成ボタンをクリックすると,

円柱が作成される(図 22).

(5) オブジェクトを Z軸中心に 90°回転しさらに口

の大きさまで縮小する(図 23).

(6) コマンドパネルの範囲ボタン又は投縄ボタンを

クリックして,中央部分のポリゴンの点のみを選択

し,Y 軸の負の方向に選択した頂点を移動し円柱を

小さく折り曲げる(図 24).

(7)全てのオブジェクトを表示させ,口の位置にオブ

ジェクトを移動する(図 25).(図は,口のオブジェ

クトを X 軸中心に回転して表情を作っている)

(1)

(2)

(3)

(1)

(2)

(3)

Page 27: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

27

図 21 円柱の作成

図 22 作成された円柱

図 23 作成した円柱を回転(左),縮小する(右)

図 24 中央部の頂点を選択(左),

移動し円柱を折り曲げる(右)

図 25 作成したオブジェクトを口の位置に配置(左:

カメラ視点,右:Z軸から見た画像)

3.6.3 バケツを作る

(1) オブジェクトパネルの目のアイコンをクリック

して消し,全てのオブジェクトを非表示にする.

(2) コマンドパネルの基本図形ボタンをクリックし,

表示された基本図形パネル内の円柱のアイコンを選

択する.

(3) その後詳細設定ボタンをクリックし,表示され

た詳細設定パネル内でオブジェクトの V 方向のポリ

ゴン数を 1,高さを 200 に設定する.このとき詳細

設定パネル内の「新規オブジェクトとして作成」の

項目にチェックを入れること.

(4) 基本図形パネルの作成ボタンをクリックする.

(5)円柱の下側にあるポリゴンの点を選択し,等比変

形して拡大する(図 26).

(6)バケツを頭部の位置に移動し,大きさ,角度を変

え調整する(図 27).

図 26 下の頂点を全て選択し等比変形する

図 27 バケツを調整し配置する

(1)

(2)

(3)

(3)

(3)

(4)

(1)

(2)

(3)

(3)

(3)

(4)

Page 28: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

28

(左:Z軸からみた画像,右:カメラ視点)

3.6.4 ボタンを作る

(1) コマンドパネルの基本図形ボタンをクリックし,

表示された基本図形パネル内の球のアイコンを選択

する.

(2)その後詳細設定ボタンをクリックし,表示された

詳細設定パネル内でオブジェクトのポリゴン数,大

きさ等を設定する.このとき詳細設定パネル内の「新

規オブジェクトとして作成」の項目にチェックを入

れること.

(3)縮小し,胸の位置に移動する(図 28)

(4)球をコピー&ペーストして,一つ目の玉より下に

移動する(図 29).

(コピー&ペーストはショートカットキーを用いる

か,メニューより「選択部処理」→「コピー」,続い

て「選択部処理」→「ペースト」とする.)

図 28 球を縮小して胸 図 29 コピー&ペース

の位置に配置 トして配置

3.7 材質の設定

オブジェクトの材質を設定する.

(1) 材質パネル(図 30)より新規ボタンをクリッ

クすると,“mat1”が出来る.

(2) “mat1”を選択し,同パネルの設定ボタンをク

リックする.

(3) 表示された材質設定パネル(図 31)で材質の

編集をおこなう.

(4) オブジェクトパネルで,材質を設定したいオブ

ジェクト以外をロックし選択できないようにする

(図 32).

(5) 材質を設定したいオブジェクトを選択する.

(6) メニューの選択部処理から「面に現在の材質を

指定」を選択すると,設定した材質が反映される(図

33).

(7) 引き続き,全てのオブジェクトに対して材質パネ

ルより材質を新規で作成,編集し設定を行う(図 34)

図 30 材質パネル

図 31 材質設定パネル

図 32 オブジェクトの材質の決定

(1)

(2)

(1)

(2)

(3)(3)

(3)(3)

(4)(5) (6)(4)(5) (6)

Page 29: 2013 年度 メディア処理演習 コンピュータ・グラフィックス...度Excel VBAを用いて,コンピュータグラフィックスの動作を経験し,理解を深める.

29

図 33 胴部分の材質が反映された様子

図 34 全てのオブジェクトに材質を反映

3.8 レンダリング

(1) ファイルメニューよりレンダリングを選ぶ.

(2) 表示されたレンダリングパネルのレンダリング

ボタンをクリックする(図 35).

(3)レポート用にレンダリング結果(図 36)の画像

を保存する.ファイルに保存というボタンをクリッ

クし,保存先とファイル名を入れて,bmp(Windows

ビットマップ)形式で保存する.

図 35 レンダリングパネルのレンダリングボタン

図 36 レンダリング結果

参考書籍・Webページ [1] メタセコイア公式サイト「metaseq.net」 http://www.metaseq.net/metaseq/index.html [2] 横枕雄一郎・伊藤真健・むつきはつか:メタセコイア

入門,オーム社 (2004) [3] 田崎進一・kyk:メタセコイア・マスターガイド,BNN新社(2004) [4] 鴨杜健児:Metasequoia ではじめる 3D-CG モデリング,

工学社(2005) [5] かこみき:Metasequoia スーパーモデリングガイド,BNN新社(2006) [6] 関連サイト例 http://ktg.xii.jp/mqo/