多谢回复,代码很简单,就一句,stctpts是n*4的矩阵,第4列存储的是每个控制点的weight,n是控制点个数.修改控制点对应的weight会改变曲面形状.opengl的改变与数学推导不符,按理增加weight,曲面应该靠近控制点才对,但是opengl这个函数是减小weight会靠近控制点,甚至weight可以小于0,这就失去了weight的数学和几何意义了,查了相关手册,却没找到有关说明- gluNurbsSurface(s,sknotscount,sknots,tknotscount,tknots,4*6,4,stctpts,4,4,GL_MAP2_VERTEX_4);
复制代码 另外,你说此函数不适合实时应用,请问实际工程中,需要画nurbs曲面难道需要自己写显示函数吗?你有这方面的参考资料吗? |