В основном я пытался добиться этого: наложить произвольное изображение на заранее заданную неровную поверхность. (См. примеры ниже).
-->
У меня нет большого опыта в обработке изображений или 3D-алгоритмах, поэтому вот лучший метод, который я могу придумать:
- Предопределить набор координат (скажем, если у нас есть сетка 10x10, у нас есть 100 координат, которые начинаются с (0,0), (0,10), (0,20), ... и т. д. Будет 9x9 = 81 сетки.
- Запишите преобразования для каждой отдельной координаты на изображении футболки, например. (0,0) становится (51,31), (0, 10) становится (51, 35) и т. д.
- Триангулируйте исходное изображение на 81x2=162 треугольника (по 2 треугольника на каждую сетку). Преобразуйте каждый треугольник изображения на основе преобразований координат, полученных на шаге 2, и нарисуйте его на изображении футболки.
Проблемы/вопросы, которые у меня есть:
- Я не знаю, как сгладить каждый треугольник, чтобы изображение на футболке не выглядело рваным.
- Есть ли лучший способ сделать это? Я хочу убедиться, что не изобретаю колеса, прежде чем приступить к реализации.
Спасибо!