Чтобы повернуть изображение на угол тета, необходимо сопоставить каждый пиксель P = (x, y) с новой точкой P '= (x', y '). То, как P отображается на P ', зависит от оси вращения и от тета в градусах или радианах, но это будет что-то вроде:
- x '= x * cos (тета) - y * sin (тета)
- y '= x * sin (тэта) + y * cos (тэта)
проблема в том, что это приводит к нецелым значениям, вот где начинается интерполяция.
Чтобы заполнить пиксель (x, y) в повернутом изображении, потребуется использовать пиксель с нецелыми координатами исходного изображения, интерполяция приближает эту нецелую точку, используя точки рядом.