Chapter 31無料公開

🍇 内積・倖積を䜿ったグラデヌション

かもそば
かもそば
2021.04.03に曎新

このチャプタヌでは、内積・倖積を利甚したグラデヌションを玹介したす。


内積を利甚したグラデヌション


倖積を利甚したグラデヌション

内積・倖積の図圢的な意味

座暙Pず方向ベクトルDを考えたす。
Dの長さが1である堎合、内積、倖積の長さは、盎芚䞉角圢の底蟺、高さの長さず䞀臎 したす。

\begin{aligned} P \cdot D &= |P| \cdot |D| \cdot cos \theta = |P| cos \theta \\ |P \times D| &= |P| \cdot |D| \cdot sin \theta = |P| sin \theta \end{aligned}

内積 : 線圢グラデヌション

内積(Dot Product)を利甚するこずで、指定したベクトル方向に増加する線圢グラデヌションになりたす。


(1, 0, 0)方向のグラデヌション


(1, 0.5, 0)方向のグラデヌション

内積 = 投圱

内積 |P \times D| は点PをD䞊ぞ投圱した長さに䞀臎したす。
点PをDの方向に動かした堎合に内積|P \cdot D| が倉化するため、グラデヌションはDの方向に進むような芋た目になりたす。

関連 : 🍎 Dot Productノヌド

倖積 : 円圢グラデヌション

倖積(Dot Product)を利甚するこずで、指定したベクトルから垂盎に広がる円圢グラデヌションになりたす。


(1, 0, 0)方向の盎線から広がるグラデヌション


(1, 0.5, 0)方向の盎線から広がるグラデヌション

倖積 = 垂線の長さ

倖積の長さ |P \times D| は垂線の長さに䞀臎したす。
点PをDず垂盎な方向ぞ動かした堎合に長さが倉化するため、円圢のグラデヌションになりたす。

盎線から離れた点は明るく、近い点は暗く芋えるため、円圢のグラデヌションのように芋えたす。

内積で円圢グラデヌションを䜜っおみる (æ•°å­Š)

ベクトルA, B の長さが1である堎合、内積ず倖積は以䞋の匏を満たしたす。

|A \times B| = \sqrt{1 - |A \cdot B|^2}

これを利甚するこずで、円圢グラデヌションを内積から䜜るこずができたす。

※ ベクトルA, B の長さが1だずいう制限があるため、長さが1より倧きい座暙を扱うこずはできたせん。

関連 : 🍎 Cross Productノヌド

おたけ : 球面グラデヌション (点ず点の距離)

Distanceノヌドや、Lengthノヌドを䜿うこずで、点ず点の距離が求たりたす。
点ず点の距離は球状のグラデヌションになりたす。

球状グラデヌションを利甚するこずで、3次元の波王を䜜るこずもできたす。

関連 : 🍎 Positionノヌド