動画の解説を参照
第7回、第8回で紹介した曲面は複雑な立体の形を作るのに向いていますが、レンダリング (3Dモデルのデータなどをもとにして2Dの「絵」を作る工程) の際の面上の点の計算処理に時間がかかるという問題があります。
ポリゴン曲面は、単純な3角形または4角形の集まりで定義されるものです。
ポリゴン曲面では、レンダリングの際に制御点で囲まれた面をそのまま表示するだけなので最小限の計算処理で済みます。
また、制御点がそのまま立体の頂点になるため直感的に形をコントロールできるという利点もあります。
ポリゴンの語源
pentagon (5角形), hexagon (6角形),... のように、英語では「*角形」は -gon という形です。
-gon の前につくのはギリシャ語由来の数字の呼び名です。
(3角形, 4角形は普通は triangle, rectangle という言い方をしますが、trigon, tetragon という呼び方もあります)
poly- は「複数」を意味する接頭辞なので、polygon で「多角形」という意味になります。
ただし、CG用語としてはポリゴン曲面の要素としてのひとつひとつの面が「ポリゴン」です。
ポリゴンはその頂点の座標で定義されます。
例えば下の図の例なら左側のポリゴンは 1, 2, 3 の頂点の座標、右側のポリゴンは 1, 3, 4 の頂点の座標が決まれば面が確定します。
また、面の表裏は頂点の順番で決まります。一般には「頂点の順番が反時計回り」に見える側を表側とすることが多いです。
そのルールに従うと「1, 2, 3のポリゴン」はこの図の手前側が表、「1, 3, 2のポリゴン」はこの図の奥側が表 (手前側が裏) になります。
※ 準備 : 学籍番号を入れて「入力」をクリック (タップ) してください。
概要の図の
の手前側が表か裏かを答えてください。
課題1解説
動画の解説を参照
下の図では、光源から光が差す方向に応じてポリゴンが反射する光の量を計算し、それに合わせた明るさでポリゴンを表示しています。
このようなレンダリングの方法を
フラットシェーディングといいます。
見ての通り、頂点の数が少ないと「カクカクした感じ」が出てしまいます。
頂点の数を増やせば「カクカク感」は軽減されますが、データ量が増えて表示のための計算負荷が高くなってしまいます。
上の図と全く同じポリゴン曲面を、
スムーズシェーディングという方法でレンダリングしたのが以下の図です。
頂点や面の数は全く変えていません。
この方法では、面内の各点の明るさを同じにせずに、隣からの距離に応じて補間して滑らかに変えています。
そうすることで、あたかもたくさんのポリゴンで構成したかのような絵ができます。
ただし、あくまで面内の明るさにグラデーションをかけているだけなので、形はまったく同じです。
実際、輪郭に注目しながら下のボタンで画像を素早く切り替えてみれば形が同じであることが確認できます。
課題2解説
ポリゴン曲面エディターで好きな形の曲面を作り、その情報のデータを提出してください。
ただし、100個の制御点のうちすくなくとも50個以上の制御点をデフォルト状態から動かし、フラットシェーディングとスムーズシェーディングで見た目の差ができるような形をつくってください。
ワイヤーフレーム表示 : WIREボタン
フラットシェーディング表示 : FLATボタン
スムーズシェーディング表示 : SMOOTHボタン
面のデータをファイル出力する : Export Surfaceボタン
面のデータをファイルから読み込む : Import Surfaceボタン
スクリーンショットをファイル出力 : Take Screenshotボタン
制御点を複数選択 : マウス右ボタンで範囲選択
制御点をX軸に沿って移動 : Xキー + ドラッグ
制御点をY軸に沿って移動 : Yキー + ドラッグ
制御点をZ軸に沿って移動 : Zキー + ドラッグ
制御点の移動方向をX軸方向のみに制限、制限解除 : 1キー
制御点の移動方向をY軸方向のみに制限、制限解除 : 2キー
制御点の移動方向をZ軸方向のみに制限、制限解除 : 3キー
制御点の移動 (非推奨) : ドラッグ
Undo, Redo, 初期状態に戻す, ファイルに保存, ファイルから読み込み : ボタン
課題3, 4解説
課題2でデータを出力してから形に変更を加えないままで、
表示を「フラットシェーディングモード」(「FLAT」のボタンが青い状態)にし、「Take Screenshot」ボタンでスクリーンショットの画像を保存して提出してください。
ファイル名はボタンを押して表示されるものから変更せずにそのまま保存してください。