这不是一个真正的C#问题,但我在C#中这样做,希望这里的一些人可以教我数学类中的函数,或者无论如何帮我找到一个好的算法。
我们将使用此示例。我在坐标10,10处。我想找到7x7网格内的所有坐标,使用10,10作为其中心。任何人都可以建议一个好的算法,或使用Math类来找到我需要的所有坐标吗?
答案 0 :(得分:0)
看来你只需要通过X和Y坐标进行双循环 伪代码
X0=10
Y0=10
ASize = 7
HalfSize = ASize / 2
for Y = Y0 - HalfSize to Y0 + ASize - HalfSize do
for X = X0 - HalfSize to X0 + ASize - HalfSize do
output Y,X coordinates
答案 1 :(得分:0)
此代码在arr [15,15]中使网格为'1',中心位于10,10。
int x = 10, y = 10;
int lConerX = x - 4, lConerY = y - 4;//coords of top-left conner
for (int i = lConerX; i < lConerX + 7; i++)
{
for (int j = lConerY; j < lConerY + 7; j++)
{
arr[i, j] = 1;
}
}