圆和椭圆的生成.ppt

圆和椭圆的生成.ppt

ID:57651315

大小:190.50 KB

页数:8页

时间:2020-08-30

圆和椭圆的生成.ppt_第1页
圆和椭圆的生成.ppt_第2页
圆和椭圆的生成.ppt_第3页
圆和椭圆的生成.ppt_第4页
圆和椭圆的生成.ppt_第5页
资源描述:

《圆和椭圆的生成.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三、圆和椭圆的生成 实验要求: 1、分别用圆的参数生成法和Bresenham算法画圆2、请调用画圆和画椭圆的函数画出右图提示:openGL里可通过glrotatef函数实现坐标系的旋转,如绕Z轴旋转45度(相当于XY平面内图形绕原点旋转45度)通过glrotatef(45,0,0,1)来实现。假定园心在(xc,yc)点,将圆用参数方程表示:0≤θ≤2将离散化0≤k≤n1圆的参数方程生成算法使用上述方法可沿圆周等距点绘制出圆来。算法中,n取的值越大,计算的点越多,但执行时间越长。此算法的缺点是含有三角函数,计算量大。使用上述离散化方程,可以得到如下算法:for(k﹦0;k

2、x﹦xc﹢Rcos(2k/n);y﹦yc﹢Rsin(2k/n);gl_Point(int(x),int(y));}2Bresenham生成圆弧的算法假设圆心(0,0)为原点考虑AB弧的画法,显示一个整圆时,只要在显示AB上任一点(x,y)时,同时显示在圆周上其它七个对称点(y,x),(y,-x),(x,-y),(-x,-y),(-y,-x),(-y,x),(-x,y)因此,只考虑画AB段圆弧图7个对称点O程序x0=0,y0=Rd1=3–2*R当di<0时di+1=di+4xi-1+6xi=xi-1+1当di≥0时di+1=di+4(xi-1-yi-1)+10xi=xi-1+1,yi=yi-

3、1-1voidbresenham_arc(intR){//一象限八分之一圆弧intx,y,d;x=0;y=R;d=3-2*R;while(x

4、lipse(inta,intb)//椭圆生成源代码{intx,y;floatd;x=0;y=b;d=b*b+a*a*(-b+0.25);gl_Point(x,y);while(b*b*(x+1)0){if(d<0){d=d+b*b*(2*x+2)+a*a*

5、(-2*y+3);x=x+1;y=y-1;}else{d=d+a*a*(-2*y+3);y=y-1;}gl_Point(x,y);}//第一象限下部分}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。