二次曲面的绘制函数(一)

来源:互联网 发布:设计师作品集 知乎 编辑:程序博客网 时间:2024/06/05 17:38

一.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.圆锥体的绘制和圆柱体的绘制函数是一样的,只是在baseRadiustopRadius中有一个半径为零

3.gluSphere原型为:void gluSphere(GLUquadricobj* obj,GLdouble radius,GLint slices,GLint stacks);

其功能为:绘制一个球体

参数:obj表示二次曲面对象,obj的中心位于原点 radius表示球的半径 slicesstacks表示经线和纬线

      该球体用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表示扇形的起始角

原创粉丝点击