您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页Bresenham画圆算法

Bresenham画圆算法

来源:欧得旅游网
实验题3: 参考课堂所讲过的圆心在原点,半径为R的第一个4分圆的Bresenham画圆算法程序,将该算法程序推广到任一四分圆,从而形成一般的Bresenham画圆算法。并利用Bresenham画圆算法画出一个圆心在点(xc,yc), 半径为R, 圆周颜色为color的圆,如下图所示: Y

R (xc,yc)

X (0,0)

要求:1. 圆心的坐标、半径和圆周颜色都要求可以随机输入;

#include\"graphics.h\" #include\"stdio.h\"

void cc(int radius,int centerx,int centery,int color) {

int x=0; int y=radius;

int delta = 2*(1-radius); int direction; while(y>=0){

putpixel(centerx+x,centery+y,3); putpixel(centerx-x,centery+y,3); putpixel(centerx+x,centery-y,3); putpixel(centerx-x,centery-y,3); if(delta<0){

if(2*(delta+y)-1<0){ direction = 1; } else{

direction = 2; } }

else if(delta > 0){

if(2*(delta+y)-1<=0){ direction = 2;

} else{

direction = 3; } } else{

direction = 2; }

switch(direction ){ case 1: x++;

delta += (2*x+1); break; case 2: x++; y--;

delta += 2*(x-y+1); break; case 3: y--;

delta += (-2*y+1); break; }

} }

main() {

int i,gdriver,gmode; gdriver=DETECT;

initgraph(&gdriver,&gmode,\"\"); cc(80,100,100,4); getch(); closegraph(); }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务