Страницы

Поиск по вопросам

среда, 5 декабря 2018 г.

Помогите с алгоритмом “запотевания” картинки [закрыт]

Есть прямоугольная область, которая постепенно "запотевает". Как это лучше реализовать?
Если эту область частично "протирают" (допустим появляется круг на ней), как это реализовать?
Нужно ли хранить данные о касаниях в виде примитивов(круги, прямоугольники и т.п.) или лучше в виде плоскости?


Ответ

Попробуйте моделировать процесс, похожий на физический. Запотевание стекла – это появление на нём микрокапелек конденсата. Это как точки, которые ложатся в случайных местах поверхности. С течением времени всё больше и больше точек. N точек в секунду.
Когда несколько капелек оказываются слишком близко друг от друга, они сливаются в более крупную каплю.
Когда стекло протирают, в следе все капли пропадают.
Капли я бы делал кругами, в которых реализуется какой-то эффект – размытия фона + блик/тень самой капли.
Касание / стирание я бы делал окружностью фиксированного диаметра.

Комментариев нет:

Отправить комментарий