数学
■はじめに
数学の知識を軽くまとめていこうと思います(自分の復習用)
> 
>
■Houdini
簡単な数学をHoudiniで実装するまとめ
■Substance Designer
簡単な数学をSubstance Designerで実装するまとめ
■数学(Houdini)
Houdiniで使いそうな数学用語
■数学復習リンク
■物理学への応用
古典力学:微分方程式
古典電磁気学:ベクトル解析,微分方程式
熱力学:偏微分
振動・波動論:フーリエ解析
量子力学:関数解析,微分方程式
■数学リンク
■内積
>\vec{A} \cdot \vec{B} = |A|・|B| \cdot cos \theta
■外積
>|\vec{A} \times \vec{B}| = |A|・|B| \cdot sin \theta
二倍角の公式
■偶関数
>f(-x) = f(x)を満たすような関数を偶関数と呼ぶ
cos(-\theta) = cos(\theta)となるので、cosは偶関数
■奇関数
>f(-x) = -f(x)を満たすような関数を奇関数と呼ぶ (奇関数はy軸対称)
sin(-\theta) = -sin(\theta)となるので、sinは奇関数
■複素数(虚数単位)
■クオータニオン(四元数)
xyz軸の回転操作やxyz方向の移動をまとめて表現するような4x4行列 (アフィン変換)
>\begin{pmatrix} x' \\ y' \\ z' \\ w' \end{pmatrix} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ w \end{pmatrix}
■ベクトル解析
>【勾配】glad \ \bm{A} = \nabla \bm{A}
>【発散】div \ \bm{A} = \nabla \cdot \bm{A}
>【回転】rot \ \bm{A} = \nabla \times \bm{A}
■ノルム
n次元ベクトル \vec{x} = (x_1, x_2, x_3, \cdots x_n)
以下を L^pノルムと呼ぶ。 ( 1 \leqq p < \infty)
> ||\vec{x}||_p = \sqrt[p]{|x_1|^p + |x_2|^p + |x_3|^p + \cdots |x_n|^p} = (|x_1|^p + |x_2|^p + |x_3|^p + \cdots |x_n|^p) ^ {1/p}
p = 2 の場合は、これはn次元ベクトルの長さになる。
> ||\vec{x}||_2 = \sqrt{{x_1}^2 + {x_2}^2 + {x_3}^2 + \cdots {x_n}^2} = ({x_1}^2 + {x_2}^2 + {x_3}^2 + \cdots {x_n}^2) ^ {1/2}
p = 2, n = 3の場合、 3次元ベクトルの長さになります。
> ||\vec{x}||_2 = \sqrt{{x_1}^2 + {x_2}^2 + {x_3}^2}
■Houdini上でL2ノルムを実装してみる
座標のL2ノルムを計算してみます。
L2ノルムの計算float x1 = @P.x;
float x2 = @P.y;
float x3 = @P.z;
// L2ノルムの計算
float l = sqrt(x1 * x1 + x2 * x2 + x3 * x3);
len関数を使うと、もっとシンプルに書けます。
L2ノルムの計算float x1 = @P.x;
float x2 = @P.y;
float x3 = @P.z;
float l = len({x1, x2, x3});
Houdiniのlen関数はベクトルの長さを計算する関数ですが、ベクトルのL2ノルムを計算する関数とも言えそうです。
範囲変換
x_{min} 以上 x_{max} 以下に含まれている xを 0以上1以下の範囲に変換する計算式 は以下のようになる
> \frac{x-x_{min}}{ x_{max} - x_{min}}
軸対称な関数
>関数f(x), g(x)が f(x) + g(x) = 1を満たす時、 y = f(x) と y = g(x) \ は y = 0.5 を軸として対象な形をしている
その他
LaTexの数式で使用されているフォント : Latin Modern