半向量的公式爲(Hv)=(Lv + Vv)/ | Lv + Vv |,其中Lv是光向量,Vv是視向量。向量歸一化
我在Python代碼中正確使用它嗎?
Vvx = 0-xi # view vector (calculating it from surface points)
Vvy = 0-yi
Vvz = 0-zi
Vv = math.sqrt((Vvx * Vvx) + (Vvy * Vvy) + (Vvz * Vvz)) # normalizing
Vvx = Vvx/Vv
Vvy = Vvy/Vv
Vvz = Vvz/Vv
Lv = (1,1,1) # light vector
Hn = math.sqrt(((1 + Vvx) * (1 + Vvx)) + ((1 + Vvy) * (1 + Vvy)) +
((1 + Vvz) * (1 + Vvz)))
Hv = ((1 + Vvx)/Hn, (1 + Vvy)/Hn, (1 + Vvz)/Hn) # half-way vector
您已經測試了嗎? – 2010-11-06 20:06:01