private static ushort[] CreateDistanceMatrix(int radius)
{
int diameter = radius * 2 - 1;
ushort[] matrix = new ushort[(int)Math.Pow(diameter, 2)];
for (int i = 0; i < diameter; i++)
{
for (int j = 0; j < diameter; j++)
{
matrix[i * diameter + j] = (ushort)Math.Max((radius - (Math.Sqrt(Math.Pow(i - radius + 1, 2) + Math.Pow(j - radius + 1, 2)))), 0);
}//距离中心点为(radius,radius)越近,值则越大。介于0~radius之间
}
return matrix;
}