Добрый день!
Возникла такая задача: задана сетка с известным шагом. На сетке есть "особые" узлы, это координаты точек некоторой фигуры, формирующие множество S (на рисунке они выделены красным). В каждой точке сетки задана величина d - это расстояние от этой точки до ближайшей точки из множества S.
Вокруг точек множества S формируется ещё одно множество, в которое, кроме точек S входят и точки, находящиеся от них на расстоянии, не большем, чем R, то есть если
, то точки включаются в это новое мноежство (оно закрашено зелёным цветом на рисунке).
Таким образом, исходное множество, состоящее из всех узлов сетки, рабивается на три: 1) узлы, лежащие внутри области, закрашенной зелёным; 2) узлы, которые попали в область, ограниченную этой зелёной полосой - на рисунке она обозначена M2; 3) узлы, которые попали во внешнюю по отношению к "зелёной полосе" область, она обозначена M1.
Рисунок:
И множество M1, и множество M2 одинаковы в том плане, что там в каждом узле
. Но необходимо их каким-то образом разграничить, то есть пройти все узлы и определить, лежит ли точка во множестве M1, или же она лежит во множестве M2.
Как я понимаю, нужно начинать движение с начала координат - это точка обязательно принадлежит множеству M1. Потом проверять связанные с ней точки на условие
, при этом каким-то образом прекращая движение, как только мы попадём в зелёную полосу... Но как сделать такой обход, не попадая в точки из множества M2, я не представляю...
Может быть есть какой-то простой способ классификации точек в таком случае?
Заранее спасибо за любые советы!