Добрый день! Есть выпуклый полигон A. После уменьшения/увеличения получается новый полигон B.
Расстояние между ребрами полигона A и B должна быть равна D.
Сейчас решаю эту задачку следующим образом: Обход всех ребра полигона А. Сшещение на расстояние D с учетем угла наклона + 90.
Определить точки пересечения ребер и создать новый полигон. Идеально работает. И медленно.
Другой способ это умножить каждую вершину на коэффициент. Но как вычислить этот коэффициент?
Есть такая идея.
Найти условный центр полигона A (A.x это горизонтальный центр, A.y вертикальный центр) и провести от этого центра отрезки до всех вершин полигона А, затем у всех этих вершин найти такие точки которые будут от вершин полигона А на расстоянии D вуаля.