Кисть с нелинейной динамической прозрачностью

Геннадий Маков
  Кисть, меняющая свою прозрачность в зависимости от скорости движения стилуса, вещь перспективная http://proza.ru/2023/06/23/679
  Я сделал такую кисть в своём редакторе для рисования и затем попробовал её в деле. Хотелось знать, действительно ли она удобна, и насколько часто я буду использовать именно динамику прозрачности при рисовании, например, морских волн.
  Большинство кистей в редакторе имеют свойство быть полупрозрачными, это свойство задаётся цифрой, установленной на кнопке Плотность. Морские волны или облака прозрачными тонами можно прекрасно рисовать, используя эту опцию. Зачем вводить в такие кисти другую регулировку прозрачности?
  Тем более, что похожая, другая регулировка, тоже есть – включается опция постепенного уменьшения плотности и пожалуйста, по мере продвижения стилуса по планшету кисть становится всё более и более прозрачной, краска, сходящая с кисти, становится менее заметной, и мазок в своём конце плавно исчезает на фоне рисунка.
  Такая опция тоже есть, и она, в сочетании с изначально полупрозрачными кистями, очень подходит для лессировки.

   Зачем огород городить? Так ли уж нужна ещё одна опция изменения прозрачности, связанная с динамикой? Только опыт, только эксперимент, только пробы кисти в практическом рисовании, могут дать ответ на подобные вопросы. 

   Поэтому я и затеял рисовать морской пейзаж, с волнами, с пеной прибоя и с облаками, да ещё и ракурс – навстречу свету солнца. Фотографию для натуры я не искал - фотографы люди ушлые, они ищут своей камерой эффектные композиции, да ещё и ретушируют фотографии в Фотошопе. Мне нужен был образец такой, каким его видит простой человеческий глаз.
   Я выбрал в качестве образца кадр из видео. Точнее, взял фрагмент этого кадра. Подходящего ракурса и приемлемой композиции. Шторм на море, кажется, в Алуште, так называлось это видео.

   И каковы же результаты? Вы можете видеть эти результаты на иллюстрации. Картинка получилась на мой взгляд, превосходно. Главное, технических трудностей я не испытывал никаких, почти всё рисование делалось кистью с динамической прозрачностью, только для гор я использовал не полупрозрачную, а плотную кисть, и только кое-где, в волнах, добавлял к динамике прозрачности такое же динамичное изменение цвета.

   Однако, прежде чем получить такой прекрасный результат мне пришлось долго и серьёзно помучиться. Пришлось пересматривать не только алгоритм получения динамической прозрачности, но и алгоритм динамического расширения следа. И вот какие проблемы обнаружились –

1.  Работая расширенной кистью и прозрачными тонами я то и дело ощущал необходимость перейти на более узкий и существенно более плотный след, чтобы выписать, например, гребни волн, подчеркнуть тени под этими гребнями, нарисовать тёмные прогалы в морской пене, сделать более фактурными и плотными завихрения, клубящиеся по краям облаков.

2.  Кисть обнаруживала тенденцию сажать широкую жирную кляксу в начале своего движения, или после своей временной остановки, или при резком ускорении движения стилуса – если побыл на одном месте, и затем резко дёрнул стилус в сторону.

3.  Если след начал расширяться не от минимального выставленного размера 1, а от размера 4, 5 и более, то в самом начале следа получалось несоответственно большое пятно, хотя затем след почти сразу же приходил в норму, то есть сужался до ожидаемого начального размера, а потом расширялся, тоже так, как от него это и ожидалось.

    О чём говорит возникновение таких проблем? О том, что программирование, это во многом, экспериментальный процесс, и не всегда можно предсказать то, что получается. Что, кстати, и делает программирование очень интересным лично для меня. Я обожаю проводить эксперименты. Эвристическое программирование, так, кажется, оно называется.

  СУЩНОСТЬ И ВОЗМОЖНОСТИ НЕЛИНЕЙНОЙ ДИНАМИКИ

  Со всеми проблемами я справился, и распространяться по поводу них я не буду, а вот о первой проблеме расскажу подробно.

  Динамическая прозрачность включается постановкой заглавной буквы «В» на кнопке буквенных опций, а регулируется движком – длинной кнопкой «Плавность», находящейся чуть выше. Регулировка эта, правда, весьма слабая - для левых позиций движка кисть уменьшает свою плотность в полтора–два раза только на скорости движения 200 пикселей в секунду (см. график на иллюстрации справа, синие линии получены для выставленной начальной плотности 6 и 8).
  С такой прозрачностью ни о каком рисовании плотным следом на малых скоростях речи нет. А потому, для крайней левой позиции регулятора «Плавность» я решил повысить плотность следа искусственным путём – сделал резкое (но гладкое) увеличение плотности следа при скоростях от 180 пикселей в секунду и ниже. Как это сделано, расскажу отдельно, это математические трюки.
  Но результат налицо – на картинке вы видите и причудливые сгущения в облаках и тёмные прогалы пены, и пену, и волны, и камень, с перетекающей по нему водой – всё сделано нелинейной динамической кистью с плотным началом и постепенно увеличивающейся прозрачностью.
  Характерные следа такой кисти показаны над графиком справа.
  Верхний график показывает то же самое, что и нижний, только здесь по оси абцисс отложена не скорость движения стилуса, а обратная этой скорости величина. Именно в этих координатах была сделана математическая коррекция кривых.

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

__________
29.06.2023