Как программно спроецировать изображение на поверхность пузыря - PullRequest
1 голос
/ 08 января 2012

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

like

Я делаю это на платформе Android. Должен ли я использовать OpenGL ES для этого? Или просто какое-то 2D преобразование может достичь этого эффекта?

Еще один вопрос: я хочу создать много интересных графических эффектов, таких как различные фильтры PhotoShop, есть ли книги / статьи, на которые я могу ссылаться для такого рода вещей? Эта работа относится к области «Цифровая обработка изображений» или к другим областям, связанным с компьютерной графикой?

1 Ответ

0 голосов
/ 08 января 2012

Или просто какое-то 2D преобразование

Этот эффект является нелинейным преобразованием, поэтому выполнение доступных 2D (линейных) преобразований не будет работать.Вы можете сделать это с помощью OpenGL несколькими способами.В настоящее время я думаю о каком-то простом для понимания способ передать, что вам нужно сделать.В основном вам нужно реализовать какую-то рефракцию или нелинейную радиальную деформацию.

Скажем p - это центр вашего пузыря (в 2D), а r - позиция относительно p, затем неискаженнаяизображение предоставлено r+p.Теперь вы хотите исказить его по краям.Параболическое искажение доходит до середины, то есть вместо r+p вы бы показали пиксель r + (|p|^2)*p/|p|

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...