请教一个画实心圆函数的问题

2019-07-20 23:29发布

买了板子在看实心圆函数代码的时候有个问题想请教一下的,本人入门,烦请详细解说一下

这一段函数里面的u32 sqmax = (u32)r*(u32)r+(u32)r/2;是怎么得到的。
为什么要在最后面加上一个r/2的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
正点原子
1楼-- · 2019-07-20 23:29
 精彩回答 2  元偷偷看……
aleda303
2楼-- · 2019-07-21 00:02
 精彩回答 2  元偷偷看……
aleda303
3楼-- · 2019-07-21 00:34
u32 sqmax = (u32)r*(u32)r+(u32)r/2

+ r/2  似乎是四舍五入的 意思
由于是转成整形,运算速度加快 , 所以将失去的部分补回来。 


只是猜测……
lsj9383
4楼-- · 2019-07-21 03:14
最简单的方法是,直接用个极坐标系就可以了。
x=R*cos(selta);
y=R*sin(selta);

实心圆就每行判断一下,范围之内就设置颜 {MOD}。

自己再优化一下速度,就可以了。
小达人
5楼-- · 2019-07-21 05:20
应该是某个算法的C语言代码,以前画过直线就要用到算法,画圆难度更高。
卧虎藏龙
6楼-- · 2019-07-21 11:19
回复【6楼】小达人:
---------------------------------
画线用y=kx+b就够了啊。
画圆就用极坐标啊。
都是中学学的东西了。

一周热门 更多>