Dorian_bs,
массив координат -- изначально никто непересекается -- при добавлении или перемещении это проверяем -- при проверке любой ячейки делаем генерируем приращение -- проверяем на условие - false снова генерация и проверка -- true проверяем следущую.