Имитация мазков кистью для нанесения краски - PullRequest
13 голосов
/ 18 июня 2010

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

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

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

Ответы [ 5 ]

6 голосов
/ 18 июня 2010

Вот классика 1989 года - Dynadraw , написанная Полом Хеберли. Он использует простую динамическую модель для сглаживания необработанных позиций мыши.

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

5 голосов
/ 18 июня 2010

Существует большая литература по нефотореалистической визуализации. Основные книги « Не фотореалистичная компьютерная графика » от Strothotte & Schlechtweg и « Не фотореалистичная визуализация » от Gooch & Gooch. Они обсуждают мазки. Есть несколько статей, которые касаются смоделированных мазков кисти. См., Например, « Имитация художественных мазков с использованием интервальных сплайнов ».

0 голосов
/ 18 июня 2010

Не совсем то, что вы просите, но я обнаружил, что приложения, использующие сглаживание линий (например, Adobe Ideas на iPad или Doozla на Mac), делают более реалистичные и приятные для глаз мазки кистью, как и вы.Получите неестественные "неровности", связанные с отслеживанием движений мыши идеально.

0 голосов
/ 18 июня 2010

Проверьте NPRQuake , они могут иметь эффект, который вам нравится.

0 голосов
/ 18 июня 2010

Я могу думать о том, как определить силу кисти в каждой точке линии и наложить на нее множество однородных текстур.Каждая текстура будет иметь альфа-значение, соответствующее «как сильно» кисть нажимает на холст в этом месте.Функция для определения того, насколько сильно кисть будет нажимать, вероятно, должна быть соотнесена с вводом.

Если вы зайдете в инструмент, такой как Photoshop или GIMP, и увидите, как он реализует инструмент кисти, ондолжно быть довольно легко имитировать что-то близкое к этому.

...