向量<x,y,z> = s
len = 1/sqrt(x^2+y^2+z^2) = 1/||s||;
x1 = x*len
y1 = y*len
z1 = z*len
其作用是將x1,y1,z1的取值范圍縮小到-1,1.
具體原理來源于勾股定理:
sqrt(a^2 + b^2)=sqrt(c^2)
其中c為斜邊,斜邊是三角形三條邊中的最長邊,也為這個三角形a,b兩個向量構成的向量空間中的最長向量,這點在其他任意維空間也成立,因此:
a/c >= -1 || a/c <= 1
b/c >= -1 || b/c <= 1