Вы можете применить простое свойство из топологии.
Сначала убедитесь, что ваша граница разделяет юниверс (все доступные точки, с которыми вы имеете дело).Возможно, вам придется расширить границу через океан, чтобы закончить это.
Теперь, выберите любую контрольную точку, которая помечена как для региона - чтобы определить «Север» и «Юг», вы должны иметь по крайней мереодин такой момент.wlog предположим, что это «южная» точка с именем Z
.
Теперь для каждой точки A
, которую вы хотите классифицировать, нарисуйте непрерывный путь (прямой обычно проще, но не обязателен) из *От 1009 * до Z
.Найти пересечения этого пути с границей.Если у вас четное количество пересечений, то A
относится к тому же классу («Юг»), что и Z
;с другой стороны, он находится в другом классе («Север»).
Обратите внимание, что для этого требуется топологическое свойство «разбиение» - нет касательных к граничной линии: если ваш путь касается границы, ондолжен полностью пересечь.