Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Координаты после поворота изображения


Автор: baslie 19.4.2013, 07:09
Нужно определить координаты точек A и B после поворота изображения на угол alpha. Начальное положение точек (alpha==0) известно.

http://s1.ipicture.ru/

Автор: baldina 19.4.2013, 12:30
Кури аффинные преобразования

Автор: leshiysoft 19.4.2013, 12:38
Нужны еще координаты точки, относитльно которой происходит поворот (ось поворота). Я так понимаю, здесь это центр картинки, в таком случае необходимы высота и ширина картинки.
если (cx, cy) - координаты оси вращения, а вращение происходит по часовой стрелке, то
newx = (x-cx)*cos(alfa) + (y-cy)*sin(alfa)+cx
newy = -(x-cx)*sin(alfa) + (y-cy)*cos(alfa)+cy

Автор: _Y_ 20.4.2013, 10:12
Например так:
  • Переводим координаты из имеющейся системы координат в угловую систему координат с нулем в точке, вокруг которой осуществляется поворот.
  • Прибавляем к координатам заданный угол.
  • Преобразуем к исходной системе координат.
Принцип должен работать вне зависимости от того, какая система координат используется изначально.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)