Как зациклить данное преобразование?(Алгоритм поворота многоугольника)

В общем имеются координаты вершин фигуры.

При пропорциональном увеличении фигуры координаты вершин изменяются по формулам которая на скрине. На скрине пример для треугольника. Нужно как-то это зациклить, чтобы можно было увеличивать и многоугольники со скольким угодно количеством вершин. Есть идеи?введите сюда описание изображения


Ответы (1 шт):

Автор решения: MBo

Не нужно эти формулы применять для многоугольника, будет много повторных ненужных действий.

Вычислите координаты CX, CY центра как сумму координат вершин, делённую на количество вершин (отдельно для X и Y)

Потом используйте эти координаты для преобразования каждой вершины

for i = 0.. NumVerttices - 1:
  X[i] = CX + (initial_X[i] - CX) * coeff
  Y[i] = CY + (initial_Y[i] - CY) * coeff

где coeff - масштабный коэффициент (>1 для увеличения )

→ Ссылка