三基本光栅图形生成算法.ppt

实验三、圆和椭圆的生成 实验要求: 1、分别用圆的参数生成法和Bresenham算法画圆 2 Bresenham 生成圆弧的算法 假设圆心(0,0)为原点 考虑AB弧的画法,显示一个整圆时,只要在显示AB上任一点(x,y)时,同时显示在圆周上其它七个对称点 (y,x), (y,-x),(x,-y),(-x,-y), (-y,-x),(-y,x),(-x,y) 因此,只考虑画AB段圆弧 3、椭圆生成 void Ellipse(int a, int b)//椭圆生成源代码 { int x,y; float d; x = 0; y = b; d = b*b +a*a*(-b+0.25); gl_Point(x,y); while( b*b*(x+1) a*a*(y-0.5) ) { if (d0) { d = d+b*b*(2*x+3); x=x+1; } else { d=d+(b*b*(2*x+3)+a*a*(-2*y+2)); x=x+1; y=y-1; } gl_Point(x,y); }//第一象限上部分 d = b*b*(x+0.5)*(x+0.5) + a*a*(y-1)*(y-1) - a*a*b*

文档评论(0)

1亿VIP精品文档

相关文档