第10回 空間ベクトル:外積 (2)

本題に入る前に、必ず動画の連絡を見てください。

面の法線ベクトル

概要

用語「法線」についての動画の解説を参照
動画の解説を参照

3D CGではたくさんの面 (ポリゴン) でいろいろな形を表現します。その際、「面に表裏を設定して裏側を描画しない」という決まりにしたがって描画すれば余計な処理をせずに済みます。
以下で \(\theta\) に数値を入力すると、赤・青の矢印と四角の枠が表示されます。
\(\theta=\)
\(\boldsymbol{a}\) = (-1, 0, 0), \(\boldsymbol{b}\) =
\(\boldsymbol{a}\cdot\boldsymbol{b}\) =
これは (3, 0, 0) の位置にカメラ、(0, 0, 0) の位置にポリゴンがあることを前提とした図です。
この面の向きを調べて、描画するべきかどうかを判定してみましょう。
カメラから見たポリゴンの位置はちょうどX軸の負の方向なので、カメラは赤矢印の方向を向きます。
一方、四角の面に垂直な方向 (面の表側の向き) は青矢印の向きになります。
この方向を指す線のことを面の法線方向といいます。
この2つのベクトルを使えば面の表側がカメラの方向を向いているかどうかを判定できます。
このケースでは、「面の表側がカメラの方向を向いている」という条件は「赤と青の矢印が向き合っている」、つまり2つのベクトルの内積が負であるという条件になります。

課題1

※ 準備 : 学籍番号を入れて「入力」をクリック (タップ) してください。


カメラの座標が (, , )、 ポリゴンの座標が (, , ) で、 ポリゴンの法線ベクトルが (, , ) のとき、そのポリゴンを描画すべきかどうかを判定してください。 計算過程も書いてください。

※ 概要の例では \(\boldsymbol{a}\), \(\boldsymbol{b}\) のどちらも単位ベクトルにしましたが、向きの判定に必要なのは内積の符号だけなので長さが1である必要はありません。
課題1ヒント

三角形の法線ベクトル

概要

動画の解説を参照

三角形の3つの頂点の座標が分かっていれば、その面の法線の方向を求めることができます。
三角形の表・裏は2通り考えられますが、よく使われる向きの基準として「頂点に1~3の番号を振って、1から3の順に見たときの右ネジの向きを法線の方向 (表側) とする」というものがあります。 この授業でもその基準を採用することにします。

頂点1から頂点2に向かうベクトルを \(\boldsymbol{a}\), 頂点1から頂点3に向かうベクトルを \(\boldsymbol{b}\) とすると、まさに \(\boldsymbol{a}\times\boldsymbol{b}\) は法線の方向を向くことになります。

以下に座標 (-5~5の整数) を入れて「入力」をクリック (タップ) すると 図の三角形が更新されます。水色の線がこの三角形の法線ベクトル (長さを1にしたもの) です。

頂点1の座標 (, , )
頂点2の座標 (, , )
頂点3の座標 (, , )

課題2

三角形の頂点の座標が (, , ), (, , ), (, , ) の場合の法線ベクトル \(\boldsymbol{N}\) の成分を書き下してください。 計算過程も書いてください。
長さを1にする必要はありません。
※ 問題文が正しく表示されていない場合は課題1で学籍番号を入力して「入力」をクリック (タップ) してください。
課題2ヒント

カメラからの三角形の表裏判定

概要

動画の解説を参照

今回見た2つのテクニックを組み合わせれば、カメラから見て三角形が表か裏か、つまり描画すべきかどうかを判定できます。
「面の法線ベクトル」の項目では四角形の中心、「三角形の法線ベクトル」の項目では三角形の中心をポリゴンの位置としましたが、実は図形を含む面上のどの点をポリゴンの位置としても表裏の判定は同じになります。
つまり、例えば「頂点1」「頂点2」「頂点3」「三角形の重心」のどれを「ポリゴンの位置」としてもいいということです。

課題3

課題2の三角形を、課題1のカメラの位置から見たときに描画すべきかどうかを判定してください。
計算過程も書いてください。
課題3ヒント

課題

課題解答