Програма обертання зображень

Ця стаття присвячена методиці повертання зображень на заданий програмістом кут. Вирішення цього завдання не так тривіальне, як може здатися на перший погляд.

Особливо якщо зважати на той факт, що піксель (найменша складова зображення) насправді не є точкою. Якщо бути точним, це квадрат зі сторонами 1х1. Виходячи з цього можна сформулювати алгоритм, за допомогою якого можна реалізувати обертання.

Уявимо, що зображення – це матриця пікселів. Тоді при обертанні зображення відбувається накладення вихідної матриці та поверненої на заданий кут. А оскільки одиничний піксель може бути лише одного певного кольору, то необхідно правильно розподілити ці кольори.

Далі, щоб хоч якось розбавити "суху" теорію, представлено її графічну інтерпретацію. На лівому малюнку представлено вихідне зображення. На середньому малюнку видно, як відбувається перетин матриць вихідного та поверненого зображень. Справа видно кінцевий результат роботи алгоритму - відбувається пропорційний розподіл кольорів по осередках піксельної матриці.

Але в кожній діжці меду, як кажуть, неодмінно знайдеться ложка дьогтю. Даний алгоритм працює досить повільно, тому не годиться для використання в такій сфері як програмування комп'ютерних ігор.