圆柱面的法向量
今天老师让做一个圆柱面的表面模型,由于需要添加光照,所以需要求得每个点的法向量,但是同时由于圆柱面是可以旋转变换的所以不能单纯的用CP3(x,y,z),与CP3(0,y,0)的差获取法向量。后来想到,由于圆柱面具有前后对称性,所以,可以利用前后两个相对的顶点相差得到某个点的法向量。
具体如下:
上表是一个圆柱面侧面的展开图,假设我们现在将圆柱面沿着周向分为N1段,沿着高度方向分为N2,V点的两个分量分别代表高度方向和周向,则两个相对的点的坐标分别为VS(X,(Y+N1/2)%N1),VE(X,Y)。利用这两个点就可以求得VS的法向量。