Лучше всего описано на изображении ниже.
Мне нужно знать минимальное расстояние для перемещения эталонного многоугольника (показанного красным) по одной оси (только y), чтобы он просто касался другого многоугольника. Если он находится внутри полигона, его нужно будет переместить наружу.
Я попытался просмотреть все линии в одном многоугольнике и все точки в другом, спроецировать точку на линию и получить разницу между точкой y и точкой проекции y, а затем найти минимальное расстояние. Однако у этого была проблема, заключающаяся в том, что если полигоны перекрываются, а самая дальняя линия в одном полигоне и самая дальняя точка в другом имеют минимальное расстояние, это даст результат, который приведет к перекрытию полигонов.
Редактировать: проецируя точку на линию, я имею в виду найти значение y для точки на линии, которая имеет то же значение x, что и исходная точка. Пропустите этот шаг, если значение x находится за пределами линии.
geometry
иcomputational-geometry
, чтобы привлечь больше читателей (сам не могу, правки должны быть больше 10 символов, гррр!) - person kebs   schedule 16.10.2015