再聊切线空间之前,我先聊一下纹理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来表示曲面的参数方程的应用,在此做个笔记。。。。