Как я могу процедурно найти стену, которая разделяет две или более точек на карте на основе сетки?

Я пытаюсь создать стены, которые отсекают данную точку от других заданных точек. Прикрепленное изображение показывает, что я ищу: Синий отделен от красного. Синий отделен от красного и желтого. Синий отделен от Красного с помощью плитки. Несколько Blue отделены от нескольких Red. Есть идеи как это...