2020-01-23 14:36发布
cqv 发表于 2012-3-30 19:18 当年不知道从那抄的。。
tdjsppwct 发表于 2012-4-18 17:21 你这个程序的原理是什么?看不明白啊!while(a
cqv 发表于 2012-4-19 20:29 使用Bresenham算法画圆 我这不是标注了吗。。。
最多设置5个标签!
你这个程序的原理是什么?看不明白啊!while(a<=b)这个语句一开始不就是真值吗?为什么要这样比较?还有后面的:
/***使用Bresenham算法画圆**/
if(di<0)di +=4*a+6;
else
{
di+=10+4*(a-b);
b--;
}
这样做的原理是为什么?
使用Bresenham算法画圆
我这不是标注了吗。。。
di = 3 - 2 * r; //判断下个点位置的标志
为什么要对di这样赋值?这个判断下一个点的原理是怎么判断的?没有懂
还有:if(di<0) di +=4*a+6;
else di+=10+4*(a-b);
这个判断里面为什么di的值是这样计算的,实在不懂!查了下该算法,可是还是没有搞懂!望指点迷津,谢谢!
{ //a,b:圆心坐标 r:半径 o:圆心角
uchar x,y; //x,y:圆上坐标
x=(uchar)(a-r*cos((double)(o*rad)));
y=(uchar)(b-r*sin((double)(o*rad)));
disp_dot(x,y);
}
void disp_dot(uchar hang,uchar lie)//hang:行(0~63)
{ //lie: 列(0~127)
uchar col,page; //col: 选择dot表中字形
page=hang/8; //page:判断属于哪一页
col=hang%8;
set_page_address(7-page);
set_col_address(lie);
w_data(dot[col]);
}
一周热门 更多>