為了展示光線應該如何與幾何圖形互動,應該使用一個光線法向量。
左圖:面法線(a),頂點法線(b)。右圖:頂點法線在角度小於 90° 的形狀上。請注意,影像的幾何形狀看起來像面法線,儘管使用了頂點法線(可能需要更換更直觀的影像)。
在這裡,您可以計算每個面的法向量,並將其直接應用到面的每個頂點上。參見右側左圖中的 **a** 以瞭解說明。面法線更容易計算,它們為幾何圖形提供一種“復古”外觀。
頂點法線是指,您不僅關注單個幾何圖形,還關注所有連線到它的幾何圖形。為此,您首先需要為每個幾何圖形計算面法線,之後,當有多個幾何圖形共享同一個點時,您需要取平均值,您可以使用以下公式進行操作
,然後對其進行歸一化:
。
組合成一個數學語句看起來像
注意:雖然從數學上來說,這更好,但從計算上來說,它並不更好。對於計算機使用,請使用第一種方法,它需要額外的臨時變數儲存,但處理器更容易處理。
頂點法線比面法線在計算上更密集,但它們產生的效果更好,更逼真。如果要使用面法線獲得類似的效果,則需要更多多邊形,這在計算上更密集。從第一張影像(**b** 部分)中應該注意的一點是,如果存在像 90° 或更大的尖銳角,那麼最終效果可能更差。因此,對於大於 ∼80° 的角度,它們可能應該使用面法線進行著色。
Youtube