概要
レイマーチングやその他、様々なところで話される「偏微分」。
そしてそれが「法線を意味する」というのも便利で興味深いところです。
が、なかなかイメージがしづらく、技術として使えていながらも明確にそのイメージを持てないとどうしても気持ち悪さがあります。
ということで、今回はこの偏微分と法線のイメージについてまとめたいと思います。
※ 注釈
あくまで「自分個人の理解」の話です。
なので、数学的な話や厳密な解説ではなく、あくまで「どうして法線になるのか」を解説しているに過ぎません。
(それが故に、そもそも自分の理解も間違っている可能性もあります)
イメージ
まず、なぜ偏微分が法線となるのかそのイメージを書きたいと思います。
以下の図を見てください。
(この図は、こちらのPDFから引用させていただきました→「勾配・発散・回転 (PDF)」)
赤い矢印が勾配ベクトルです。
そして、等高線の一本(ベクトルの根本がくっついている曲線)に対して「法線」となっているのが分かるかと思います。
勾配ベクトルが「法線」を表すイメージはまさにこれです。
3次元では
上の図は2次元の図に対するものでした。
では3次元ではどうでしょうか。
まず、$\phi(r)$という関数を定義します。関数の定義は以下です。
\phi(r) = \phi(x_0, x_1, x_2)
上記の意味は$x_0, x_1, x_2$によってひとつの値(スカラー)が決まる関数、ということです。
そしてその関数と引数を含めた4要素を「$(x_0, x_1, x_2, φ(r))$」($\phi(r) = \phi(x_0, x_1, x_2)$)として、4次元ベクトルとして表現してみます。
つまり$x_0, x_1, x_2$の3要素によってひとつの値(スカラー)が決まるわけです。
しかしながら、4次元を図に起こすことはできません。
そこで、$\phi = C$として$\phi$の値を固定して考えてみます。
すると以下の図のように、各値($C_1, C_2, ...$)それぞれに曲面を図示することができるようになります。
※ スカラー場と勾配 [物理のかぎしっぽ]より引用
ちなみに引用させていただいた記事によるとこれらの面を「スカラー場の等位面」と呼ぶそうです。
スカラー場にある$\phi = C$と固定したときの「等位」な面、ということですね。
前述の「等高線」の3D版と言うことができると思います。
勾配(grad φ)を考える
前述の例を元に、$\phi(r)$の勾配を考えてみます。勾配は英語でgradientと書き、$grad$と表現されます。
$grad \phi$が勾配ベクトルを表します。
これをナブラ($\nabla$)を使って表すと、
\nabla \phi = \biggr(\frac{∂\phi}{∂x_1}, \frac{∂\phi}{∂x_2}, \frac{∂\phi}{∂x_3}\biggl)
と表されます。(参考)
ナブラは「微分演算子をベクトルに組み合わせたベクトル演算子」です。
これを$\phi$に作用させることで勾配ベクトルとなるわけです。
では実際、$\nabla \phi$はなにを意味しているのでしょうか。
微分は関数に対して微小な値を足したときにどう変化するかということを示します。
さて、上の図をもう一度見てみましょう。
$\phi$は関数でした。($\phi(r)$)
そして微分は関数に微小な値を足したものから計算します。
つまり、
\frac{∂\phi}{∂r}
ですね。
さてここで、以下のように考えてみます。
C_2 = \phi(r) \\
C_1 = \phi(r + ∂r)
そして上の図で$C_1$と$C_2$を見てみると、曲面が少しだけ上に移動しているのが分かるかと思います。($C_1 - C_2$の差分ベクトルのイメージ)
この移動方向をベクトルとして考えてみると曲面の法線方向に移動しているのがイメージできるかと思います。
これが「偏微分=勾配」が「法線」を表していることのイメージです。
あえて一言追加するならば、4次元空間での勾配が3D空間での法線を意味する、という感じでしょうか。
(あくまで自分個人のイメージ、理解です)
参考にした記事一覧
上記の内容を書くのに、以下の記事を参考にさせていただきました。ありがとうございます。