Переписал на си функцию glm::rotate, теперь хочу сделать так, чтобы можно было повернуть изображение относительно другой координаты, а не координаты левого нижнего угла рисунка. Так можно вообще? Я думал что надо что нибудь с cos и sin угол умножить на координаты, но изображение только уменшается и увеличивается.
Поворот в 2D относительно заданной точки CX, CY можно описать, как отметил Герман Борисов, с помощью последовательности переноса (чтобы центр вращения сместился в начало координат), поворота координат, и обратного переноса. В компактном виде формулы будут такие:
X_New = CX + (X - CX) * Cos(Fi) - (Y - CY) * Sin(Fi)
Y_New = CY + (X - CX) * Sin(Fi) + (Y - CY) * Cos(Fi)
Продвижение своими сайтами как стратегия роста и независимости