Искажение диапазона пикселей, чтобы заставить части изображения казаться "покачивающимися" - PullRequest
3 голосов
/ 24 ноября 2011

Я работаю над тем, чтобы часть изображения визуально «перемешивалась».

Если вы можете представить, как трясете тарелку желе, движение жидкости, в котором она движется назад и четвертым (трехмерно), - это то, чего я хотел бы достичь.

Вот пример: http://www.jigglystuff.com/

Вот рисунок, демонстрирующий желаемое движение: enter image description here

Я думал, что мне нужно сделать несколько вещей:

Когда часть изображения перетаскивается курсором и ...

  • перемещается вправо, пиксели справа от курсора будут сгущаться / перекрываться, а пиксели слева будут расширяться, показывая изгиб вправо
  • перемещается влево, пиксели слева от курсора движения будут сгущаться / перекрываться, а пиксели справа будут расширяться, показывая изгиб влево
  • та же логика для вертикальных направлений

Я не уверен, как это сделать - любые примеры, расширение моей логики или ресурсы будут с благодарностью.

1 Ответ

1 голос
/ 26 ноября 2011

Для достижения «масштабирование», который создает эффект покачивания в вашем примере, использовать текстуру управления и соответствующую функцию отображения (например, экспоненциальную относительно опорной точки вы определили). Чтобы изолировать части, которые вы хотите сделать покачиванием, используйте обычный шаг многократного маскирования.

Вот пример смещения с использованием управляющей текстуры здесь . Объедините это с вашим собственным фильтром масштабирования или одним из тех, которые указаны в комментариях, и вам будет хорошо!

Итак, повторим:

  1. Создание управляющей текстуры в зависимости от положения мыши
  2. Маска вашего изображения
  3. Применение алгоритма векторного поля на ваш выбор и дизайн
...