private void AlterNeighbour(int radValue, int bestBias, int b, int g, int r)
{
#region Low and High
int low = bestBias - radValue;
if (low < -1)
low = -1;
int high = bestBias + radValue;
if (high > Netsize)
high = Netsize;
#endregion
int j = bestBias + 1;
int k = bestBias - 1;
int m = 1;
while (j < high || k > low)
{
int rad = _radPower[m++];
if (j < high)
{
try
{
_network[j][0] -= (rad * (_network[j][0] - b)) / AlphaRadBias;
_network[j][1] -= (rad * (_network[j][1] - g)) / AlphaRadBias;
_network[j][2] -= (rad * (_network[j][2] - r)) / AlphaRadBias;
}
catch (Exception e)
{
//Console.WriteLine(e.Message);
}
j++;
}
if (k > low)
{
try
{
_network[k][0] -= (rad * (_network[k][0] - b)) / AlphaRadBias;
_network[k][1] -= (rad * (_network[k][1] - g)) / AlphaRadBias;
_network[k][2] -= (rad * (_network[k][2] - r)) / AlphaRadBias;
}
catch (Exception e)
{
//Console.WriteLine(e.Message);
}
k--;
}
}
}