Как зациклить данное преобразование?(Алгоритм поворота многоугольника)
В общем имеются координаты вершин фигуры.
При пропорциональном увеличении фигуры координаты вершин изменяются по формулам которая на скрине. На скрине пример для треугольника. Нужно как-то это зациклить, чтобы можно было увеличивать и многоугольники со скольким угодно количеством вершин. Есть идеи?
Ответы (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 для увеличения )