矩阵填充圆(2D数组)

man*_*ing 3 c++ geometry matrix

使用哪种算法来获取实心圆的点数?

int start_X = 30; // center point
int start_Y = 30;

int r = 5;

// current point
int x; 
int y;

if(?==true)
{
map2D[x][y] = 1; // for filled circle points
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*der 11

你得到一个圆的等式:

其中a和b是中心点坐标.满足该等式的所有x和y点都是圆的一部分.要查看某个点(x1,y1)是否为,请检查是否

((x1 - start_X) * (x1 - start_X) + (y1 - start_Y) * (y1 - start_Y)) <= r * r
Run Code Online (Sandbox Code Playgroud)

<=符号也包括圆圈内的点.您可以安全地限制间隔[start_X - r; startX + r]和[start_Y - r; startY + r].