LINUX.ORG.RU

История изменений

Исправление Stanson, (текущая версия) :

Я подумал ему дать матрицу преобразований или трансформаций с аффинными преобразованиями, но вспомнил, что не все виды искажений так правятся, т.к. растяжение может быть не равномерным, а это только про поворот, масштабирование и перемещение, так что ТС-у в общем случае не годится. У ТС-а одна сторона картинки может быть растянутой, а другая — нет.

На самом деле афинные преобразования вполне можно заюзать, надо только понастроить треугольников между имеющимися точками и найти матрицу для каждой пары треугольников. Тогда для произвольной точки находим треугольник в котором она находится, делаем обратное преобразование, получаем правильные координаты. Но апроксимация получится только линейная.

Но апроксимация всей ботвы целиком полиномами от 2х переменных выглядит гораздо элегантнее.

Исходная версия Stanson, :

Я подумал ему дать матрицу преобразований или трансформаций с аффинными преобразованиями, но вспомнил, что не все виды искажений так правятся, т.к. растяжение может быть не равномерным, а это только про поворот, масштабирование и перемещение, так что ТС-у в общем случае не годится. У ТС-а одна сторона картинки может быть растянутой, а другая — нет.

На самом деле афинные преобразования вполне можно заюзать, надо только понастроить треугольников между имеющимися точками и найти матрицу для каждой пары треугольников. Тогда для произвольной точки находим треугольник в котором она находится, делаем обратное преобразование, получаем правильные координаты.

Но апроксимация всей ботвы целиком полиномами от 2х переменных выглядит гораздо элегантнее.