为了展示光线应该如何与几何图形交互,应该使用一个光线法向量。
左图:面法线(a),顶点法线(b)。右图:顶点法线在角度小于 90° 的形状上。请注意,图像的几何形状看起来像面法线,尽管使用了顶点法线(可能需要更换更直观的图像)。
在这里,您可以计算每个面的法向量,并将其直接应用到面的每个顶点上。参见右侧左图中的 **a** 以了解说明。面法线更容易计算,它们为几何图形提供一种“复古”外观。
顶点法线是指,您不仅关注单个几何图形,还关注所有连接到它的几何图形。为此,您首先需要为每个几何图形计算面法线,之后,当有多个几何图形共享同一个点时,您需要取平均值,您可以使用以下公式进行操作
,然后对其进行归一化:。
组合成一个数学语句看起来像
注意:虽然从数学上来说,这更好,但从计算上来说,它并不更好。对于计算机使用,请使用第一种方法,它需要额外的临时变量存储,但处理器更容易处理。
顶点法线比面法线在计算上更密集,但它们产生的效果更好,更逼真。如果要使用面法线获得类似的效果,则需要更多多边形,这在计算上更密集。从第一张图像(**b** 部分)中应该注意的一点是,如果存在像 90° 或更大的尖锐角,那么最终效果可能更差。因此,对于大于 ∼80° 的角度,它们可能应该使用面法线进行着色。
Youtube