Saturday, May 14, 2011

9、二次曲面的绘制

首先定义一个GLUquadricObj对象;
其次创建一个曲面对象gluNewQuadric;
再次设置二次曲面的特性(gluQuadricDrawStyle, gluQuadricTexture)
绘制二次曲面(gluCylinder,gluSphere,gluDisk, gluPartialDisk)
关于二次曲面的过程
gluNewQuadric 创建一个新的二次曲面对象
gluDeleteQuadric 删除一个二次曲面对象
gluQuadricDrawStyle 指定要绘制的二次曲面类型
gluQuadricNormal 设置二次曲面的法矢量
gluQuadricOrientation 设置二次曲面是内旋还是外旋转
gluQuadricTexture 设置二次曲面是否使用纹理
二次方程对象 gluQuadricObj
Ax2+BY2+CZ2+DXY+EXZ+FYZ+GX+HY+IZ+J=0
圆柱
gluCylinder( GLUquadricObj qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint
slices, GLint stacks )
qobj指定一个二次曲面,baseRadius为所绘制圆柱的底半径,topRadius为所绘制圆柱的上顶面半径,height为圆柱的
高,slices为绕Z轴的分割线数,stacks为沿Z轴的分割线数。
圆环
gluDisk(qobj:GLUquadricObj,innerRadius:GLdouble,outerRadius:GLdouble,slices:GLint,
loops:GLint);
半圆环
gluPartialDisk(qobj:GLUquadricObj,innerRadius:GLdouble,outerRadius:GLdouble,slices:GLint,
loops:GLint,startAngle:GLdouble,sweepAngle:GLdouble);
startAngle,sweepAngle是半圆环的起始角与终止角
球体
function gluSphere(qObj:GLUquadricObj,radius:GLdouble,slices:GLint,stacks:GLint);

No comments:

Post a Comment