polyline писал(а):Boris почитайте предыдущие посты. я не большой специалист в этом деле, а всего на всего изложил свой вариант...
"интерполяция бикубическим сплайном" - а не по научному?
на сколько мне известно этот инструмент трансформирует растр по трем координатам, если допустим сравнивать с align
Странно, я вроде то же сказал, что есть случаи, когда этот способ прекрасно действует.
Я позволю себе объяснить как я его понимаю в тех продуктах, где я его использовал:
1. должно быть задано объемное поле парных (правильная-неправильная) точек. для случая меньше 6 - совершенно неприемлемый результат.
2. есть частный случай в некоторых пакетах, где этот способ называется "локальной трансформацией", он исходит из того, что координаты вне установленных точек должны сохраниться.
3. при использовании этого алгоритма, на множестве явно заданных точек производится построение набора треугольников (как правило методом
Делоне)
4. сам алгоритм (способ, метод) предусматривает вычисление кубической функция (би- поскольку на плоскости о двух переменных), рассчитываемая в пределах каждого треугольника, которая переводит три "неправильных" вершины в три правильных.
5. для перехода "3 точки в 3 точки" достаточным является аффинное преобразование (наверно в вашем пакете - это "align"). Но аффинное преобразование в соседних треугольниках будет разномасштабным, что приводит к тому, точки на гранях не будут иметь два значения (от двух соседних треугольников).
6. Для решения этого противоречия на функцию перехода накладываются дополнительные условия - непрерывности на границах (ребрах) или гладкости перехода. Вам придется мне поверить, что минимальной функцией для этого является кубическая (3-ей степени) функция.
7. в результате имеем набор кубических функций, которые переводят неправильные координаты правильные. При этом за счет "гладкости" изображение преобразуется без разрывов, что и создает эффект перехода аналогичного резиновому листу. Откуда и название.
8. существенным недостатком метода являются:
а) точность в выборе точек, т.к. никакого осреднения не производится, что выставлено, то и получится.
б) неопределенность значений за пределами созданных треугольников, которые задают для набора точек минимальный выпуклый описывающий многоугольник. В случае с прямоугольным растром это означает, что верным переход будет только в пределах некоторого подмножества изображения. У меня были случаи, когда границы растров закручивались с потерей масштаба в десятки раз.