Здравствуйте, Nuzhny, Вы писали:
N>Я не готов изобретать велосипед, потому что никакого велосипеда тут нет. Никто в здравом уме не будет поворачивать картинку аффинным преобразованием. Если это надо делать быстро на CPU, то умножение матрицы (3х3) на вектор (3х1) будет слишком медленным, когда можно сделать в несколько раз быстрее (в целых числах в том числе). Если же на GPU, то float, но тоже не умножением матриц.
Не 3x3 на 3x1, а 2x2 на 2x1.
N>Призываю посчитать,
Призываю расписать здесь операции для поворота, основанные на школьных тригонометрических знаниях.
Как быстро будем считать гипотенузу, или можно сразу повернуть тангенс?
N> сколько операций надо для поворота картинки, а сколько для аффинного преобразования: в аффинном случае у тебя для каждого пикселя будет 4 лишних умножения на 0, 3 лишних умножения на 1, 4 лишних операции сложения. Не оверкилл? Если мы будем пачками обрабатывать многопегапиксельные снимки, то вообще туши свет — я лично обвиню тебя в ускорении приближения глобального потепления.
А разве алгоритмическая сложность не C * O(N)? Умножаем матрицу на каждую координату (0..N-1), N раз.