求三角形标准化法向量对三个顶点的导数
我们有一个三角形有三个顶点: x i x_i xi , x j x_j xj , 和 x k x_k xk .
标准化的法向量为:
n → = ( x j → − x i → ) × ( x k − x i → ) ∣ ∣ ( x j → − x i → ) × ( x k → − x i → ) ∣ ∣ \overrightarrow{n}=\frac{(\overrightarrow{x_j}-\overrightarrow{x_i})\times(x_k-\overrightarrow{x_i})}{||(\overrightarrow{x_j}-\overrightarrow{x_i})\times(\overrightarrow{x_k}-\overrightarrow{x_i})||} n=∣∣(xj−xi)×(xk−xi)∣∣(xj−xi)×(xk−xi)
为了求偏导, 即, ∂ n → ∂ x i → \frac{\partial{\overrightarrow{n}}}{\partial{\overrightarrow{x_i}}} ∂xi∂n, ∂ n → ∂ x j → \frac{\partial{\overrightarrow{n}}}{\partial{\overrightarrow{x_j}}} ∂xj∂n, and ∂ n → ∂ x k → \frac{\partial{\overrightarrow{n}}}{\partial{\overrightarrow{x_k}}} ∂xk∂n,它们均为3x3矩阵, 使用链式法则得到.
变量替换 a → = x j → − x i → \overrightarrow{a}=\overrightarrow{x_j}-\overrightarrow{x_i} a=xj−xi and b → = x k → − x i → \overrightarrow{b}=\overrightarrow{x_k}-\overrightarrow{x_i} b=xk−xi, 使用链式法则后:
∂ n → ∂ x i , j , k → = ∂ n → ∂ a → ∂ a → ∂ x i , j , k → + ∂ n → ∂ b → ∂ b → ∂ x i , j , k → \frac{\partial{\overrightarrow{n}}}{\partial{\overrightarrow{x_{i,j,k}}}}=\frac{\partial{\overrightarrow{n}}}{\partial{\overrightarrow{a}}}\frac{\partial{\overrightarrow{a}}}{\partial{\overrightarrow{x_{i,j,k}}}}+\frac{\partial{\overrightarrow{n}}}{\partial{\overrightarrow{b}}}\frac{\partial{\overrightarrow{b}}}{\partial{\overrightarrow{x_{i,j,k}}}} ∂xi,j,k∂n=∂a∂n∂xi,j,k∂a+∂b∂n