Вращение соответствует аффинному преобразованию координат и легко описывается с использованием матрицы / векторов. Нет ничего сложного в том, чтобы найти формулы в Интернете.
Теперь важно знать, что вместо того, чтобы брать пиксели исходного изображения и отображать их в преобразованном изображении, вы должны работать в обратном направлении.
Сканирует каждый пиксель преобразованного изображения и, применяя обратное преобразование, находит соответствующие координаты в исходном изображении. Вы должны сделать это, используя реальные координаты.
Тогда
для метода ближайшего соседа, округлите координаты и просто скопируйте значение исходного пикселя в место назначения;
для билинейного метода рассмотрим четыре пикселя вокруг полученных координат (вы выполните усечение до целого числа). Наконец, вычислите целевой пиксель как билинейную комбинацию четырех исходных пикселей, используя дробную часть координат в качестве весов для выполнения интерполяции.
Проверьте цифры здесь: http://wtlab.iis.u -tokyo.ac.jp / wataru / lecture / rsgis / rsnote / cp9 / cp9-7.htm