我在矩形2d网格的一小部分上应用函数。代码看起来像这样 -
for(int x = startX; x < endX; ++x)
{
for(int y = startY; y < endY; ++y)
{
Function(grid[x+y*stride]);
}
}
现在我想要圆形而不是矩形来应用相同的功能,但忘记了:S请帮助
答案 0 :(得分:1)
看起来这对我来说是
bool isInside(int circle_x, int circle_y, int rad, int x, int y)
{
// Compare radius of circle with distance of its center from
// given point
if ((x - circle_x)*(x - circle_x) +
(y - circle_y)*(y - circle_y) <= rad*rad)
return true;
else
return false;
}
for(int x = startX; x < endX; ++x)
{
for(int y = startY; y < endY; ++y)
{
if(isInside(centerX,centerY,Radius,x,y))
{
Function(grid[x+y*stride]);
}
}
}