切线空间

再聊切线空间之前,我先聊一下纹理uv是怎么映射顶点位置的。
举个简单的例子圆柱:

切线空间

切线空间
切线空间
切线空间
切线空间
这样就能得出参数方程:
x = x(u,v)
x = y(u,v)
z = z(u,v)
用u,v来表示点(x,y,z)
切线空间
则点p(x,y,z) = p(x(u,v), y(u,v), z(u,v)) (dx/du是x对u的偏导,其他一样)

dx = (dx/du) * du + (dx/dv) * dv ;
dy = (dy/du) * du + (dy/dv) * dv ;
dz = (dz/du) * du + (dz/dv) * dv ;

(dx,dy,dz) = (dx/du, dy/du, dz/du) * du + (dx/dv, dy/dv, dz/dv) * dv

则该点的切线为 T =(dx/du, dy/du, dz/du), B = (dx/dv, dy/dv, dz/dv)
N = T X B

其实纹理映射就是用uv来表示曲面的参数方程的应用,在此做个笔记。。。。