Приложение PhotoFiltre имеет возможность растянуть часть изображения. Вы выбираете прямоугольную форму, а затем можете захватывать и перемещать вершины в другое место, чтобы создать любой четырехугольник. Часть изображения, которую вы выбрали, будет растянута. Надеюсь, эти изображения прояснят мою точку зрения:
Существует ли общий алгоритм, который может справиться с этим? Я хотел бы получить тот же эффект на холсте HTML5 - учитывая изображение и получающиеся угловые точки, я хотел бы иметь возможность рисовать растянутое изображение таким образом, чтобы оно аккуратно заполняло новый четырехугольник.
Некоторое время назад я спросил что-то похожее , где решением было разделить изображение на треугольники и растянуть каждый треугольник так, чтобы каждые три точки соответствовали трем точкам на исходном изображении. Эта техника оказалась довольно обширной, и мне хотелось бы, чтобы был более общий метод для этого.
Я хотел бы использовать это в 3D-рендере, но я бы хотел работать с (2D) четырехугольником.
Я не знаю, использует ли PhotoFiltre внутри себя треугольники или использует другой (более дешевый) алгоритм для растягивания изображения, подобного этому.
Возможно, кто-то знает, существует ли более дешевый или более общий метод / алгоритм для растягивания прямоугольного изображения, чтобы оно заполняло четырехугольник с учетом четырех точек?