Модель деления раковых клеток на сетке

У меня есть сетка 5000x5000, и я пытаюсь реализовать простую модель ракового деления в MATLAB. Сначала он выбирает случайную точку (x, y) и делает эту клетку раковой. На первой итерации он делится - родительская ячейка остается на своем месте, дочерняя ячейка случайным образом присваивается любой соседней ячейке.
Легко пока.

Моя проблема заключается в следующем: при последовательных итерациях дочерняя ячейка часто назначается ячейке, в которой ужеесть раковая клетка. В этом случае я хочу, чтобы дочерняя ячейка заняла свое место и «подтолкнула» уже существующую ячейку к соседней ячейке. Если эта соседняя ячейка пуста, она заполняется, и процесс останавливается. Если нет, ячейка, уже находящаяся в этом месте, сталкивается и так далее, пока последняя ячейка не найдет пустое место и процесс не остановится.

Это должно быть просто, но я понятия не имею, как это написать и какие циклы использовать.
Я физик, а не программист, поэтому, пожалуйста, относитесь ко мне как к простаку!

8
задан Amro 23 June 2012 в 00:35
поделиться