一.OpenGL的glu库提供了以下类型的二次曲面绘制:
1.Cylinder, 圆柱体。使用gluCylinder函数
2. Cone, 圆锥。使用gluCylinder函数。只是相对圆柱体来说,一个底圆为零
3. Sphere, 球体。使用gluSphere函数
4. Disk, 碟盘,也就是同心圆。使用gluDisk函数
5.Partial Disk, 部分同心圆。使用gluPartialDisk函数
二.五个二次曲面的函数原型
1.gluCylinder 原型为:void gluCylinder(GLUquadricobj* obj,GLdouble baseRadius,GLdouble topRadius,
GLdouble height,GLdouble slices,GLdouble stacks );
其功能为:绘制一个圆柱体
参数:obj表示二次曲面对象 baseRadius表示z=0处的半径 topRadius表示z=height处的半径
height表示圆柱体的高度 slice表示绕z轴的线条数目(表示经线的数目)
stacks表示沿z轴的线条数目(表示纬线的数目)
2.圆锥体的绘制和圆柱体的绘制函数是一样的,只是在baseRadius和topRadius中有一个半径为零
3.gluSphere原型为:void gluSphere(GLUquadricobj* obj,GLdouble radius,GLint slices,GLint stacks);
其功能为:绘制一个球体
参数:obj表示二次曲面对象,obj的中心位于原点 radius表示球的半径 slices和stacks表示经线和纬线
该球体用slices行经线和stacks行纬线组成的多边形近似
obj可以经过比例变换成为椭圆球体
4.gluDisk(GLUquadricobj* obj,GLdouble inner, GLdouble outer,GLint slices,GLint rings);
其功能为:绘制一个圆盘(圆盘是平面物体,中心有个空洞)
参数:obi表示二次曲面对象,圆盘在z=0处创建 inner表示内半径 outer表外半径slices指定了经线
rings指定了环数
5.gluPartialDisk(GLUquadricobj* obj,inner, GLdouble outer,GLint slices,GLint rings
GLdouble start,GLdouble angle);
功能:绘制一个局部圆盘或者扇形
参数都和3中的参数相同,只是后面的angle表示扇形的顶角,start表示扇形的起始角