Как повернуть полигон?

Cramac

Новичок
Как повернуть полигон?

Всем привет. Подскажите, есть ли что то для вращения создаваемого изображения?
Или подскажите идею, как повернуть создаваемый полигон? т.е. есть полигон с координатами, рисуется прямо, а надо его повернуть(вокруг своей оси) в ту или иную сторону сохранив пропорции.
 

Pigmeich

Новичок
А вы уверены, что вы еще на PHP пишете?

Ну так как библиотека не указана, то ответ следующий:
Выбираем ось вращения (для двумерного пространства - точка), далее делаем аффинный поворот всех точек полигона относительно оси.

Аффинный поворот обычно делают построением базового вектора к трансформации точки, координаты легко считаются через расширенную формулу скалярного произведения.
 

Cramac

Новичок
да пишу на пхп, рисую через imagefilledpolygon

-~{}~ 23.12.07 13:41:

может быть пытаюсь сделать что то нереальное на пхп....
 

Pigmeich

Новичок
Cramac
Ну алгоритм я тебе написал.

Конечно, можно вращать полигоны не зная ничего про вектора.

Смотри: скалярное произведение:
mod(v) * mod(u) * cos(angle) = vx*ux + vy*uy

mod(v) = mod(u) по условию.

Остается vx*ux + vy*uy = N. Что легко решается из vx^2 + vy^2 = v^2.
 
Сверху