关于用Opengl中NURBS画出圆柱面后的裁剪问题

首先用相应的控制点、节点等画出圆柱面(不裁剪),结果是正确的,如图所示:
图片说明

但当我通过以下的裁剪代码进行裁剪后,却出现了我不能理解的结果,裁剪代码以及裁剪结果如下图:

GLfloat outSidePts[5][2] =
        { {0.0f, 0.0f}  ,{1.0f, 0.0f}, {1.0f, 1.0f},{0.0f, 1.0f}, {0.0f, 0.0f} };
        gluBeginTrim(theNurbs);
        gluPwlCurve(theNurbs,
            5,  //修剪点的个数
            &outSidePts[0][0], //修剪点数组
            2, //点之间的间隔
            GLU_MAP1_TRIM_2);//修剪的类型
        gluEndTrim(theNurbs);

图片说明
我的理解是,因为我裁剪的是整个UV参数域,从0到1,按道理说应该与裁剪前结果是一样的,但是结果却出现了多余线条,这是为什么?求大神解答

求圆柱面代码,自己没写出来😭