|
|
发表于 2005-11-11 11:24:00
|
显示全部楼层
Re:请教:在OpenGL中怎么绘制椭圆?
看看计算机图形书就可以了
void MidEllipse( int xc, int yc, int a, int b, float* col )
{
float p;
int x = 0, y = b;
p = b * b + a * a * ( -b + 0.25 );
DrawPointsE( xc, yc, x, y, col );
while ( b * b * (x + 1) < a * a * ( y - 0.5 ) ) {
x ++;
if ( p < 0 )
p += b * b * ( 2 * x + 3 );
else {
p += b * b * ( 2 * x + 3 ) + a * a * ( -2 * y + 2 );
y --;
}
DrawPointsE( xc, yc, x, y, col );
}
p = b * b * ( x + 0.5 ) * ( x + 0.5 ) + a * a * ( y - 1 ) * ( y - 1 )
- a * a * b * b;
while ( y > 0 ) {
y --;
if ( p < 0 ) {
p += b * b * ( 2 * x + 2 ) + a * a * ( -2 * y + 3 );
x ++;
}
else
p += a * a * ( -2 * y + 3 );
DrawPointsE( xc, yc, x, y, col );
}
}
你试试吧!
|
|