c语言小程序 画圆,bresenham法画圆的C程序

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

dimpledot

2015.10.13

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:44%    等级:12

已帮助:10622人

int Bres(int x0,int y0,double r,int color)

{

int x,y,d;

x=0;

y=(int)r;

d=(int)(3-2*r);

while(x

{

cirpot(x0,y0,x,y,color);

if(d<0)

d+=4*x+6;

else

{

d+=4*(x-y)+10;

y--;

}

x++;

}

if(x==y)

cirpot(x0,y0,x,y,color);

return(0);

}

int cirpot(int x0,int y0,int x,int y,int color)

{

setcolor(color);

putxicl((x0+x),(y0+y));

putxicl((x0+y),(y0+x));

putxicl((x0+y),(y0-x));

putxicl((x0+x),(y0-y));

putxicl((x0-x),(y0-y));

putxicl((x0-y),(y0-x));

putxicl((x0-y),(y0+x));

putxicl((x0-x),(y0+y));

setcolor(color);

return(0);

}

这是圆的算法,你若要整个程序,把你的电邮给我,我给你发过去、

运行环境是Turboc 2.0

int Bresline(int x1,inty1,int x2,int y2,int color)

{

int color,itag;

int dx,dy,tx,ty,inc1,inc2,d,curx,cury;

setcolor(color);

putxicl(x1,y1);

if(x1==x2&&y1==y2)

{

setcolor(color);

return(1);

}

itag=0;

dx=abs(x2-x1);

dy=abs(y2-y1);

if(dx

{

itag=1;]

iswap(&x1,&y1);

iswap(&x2,&y2);

iswap(&dx,&dy);

}

tx=(x2-x1)>0? 1:-1;

ty=(y2-y1)>0? 1:-1;

curx=x1;

cury=y1;

inc1=2*dy;

inc2=2*(dy-dx);

d=inc1-dx;

while(curx!x2)

{

if(d<0)

{

d+=inc1;

}

else

{

cury+=ty;

d+=inc2;

}

if(itag)

setpixel(cury,curx);

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值