Я написал реализацию псевдокода, которую можно использовать для написания реализации .NET:
function automate(cells,bornlist,survivelist,iterations)
{
loop(iterations)
{
loop(row < height)
{
loop(collumn < width)
{
if(is edge)
{
alive = true
}
else
{
num = add states of all cells around the outside (if in 3d include above and below and use less iterations)
state = cells[row,collumn]
alive = (state = 0 and bornlist.contains(num)) or (state = 1 and survivelist.contains(num))
}
cells[row,collumn] = alive ? 1 : 0
}
}
}
}
Это зависит от того факта, что ячейки уже были инициализированы со случайным значением шумомгенератор такого симплексного или перлинского шума.