Найти в Дзене
Дмитрий Маштаков

Прозрачные капли и предметы в графическом редакторе

_
_

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

Самая простая кисть с мягкими краями может быть приспособлена для этих целей. Однако расскажу обо всём по порядку.

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

Но вы наверное не знаете, как устроена эта замечательная кисть?

И я тоже не знаю. То есть, не знаю, как она устроена у других, но зато расскажу, как такую кисть делал я.

ПИКСЕЛЬНЫЙ КРУГ

Основой всех кистей в программе DM_Paint является пиксельный круг. По существу, это массив целых чисел R, X, Y - список координат пикселей, составляющих круг, в порядке возрастания R - расстояние от центра круга. X и Y тоже отсчитываются от этого центра. Есть и ещё одна особенность создания круга – пиксели вносятся в список по разматывающейся против часовой стрелки спирали. Делая витки спирали близкими друг к другу, мы получим плотно заполненный пикселями круг. Увеличим расстояние между витками – и круг пикселей станет разреженным. Однако для рисования годится и этот круг – для некоторых кистей он создаёт зернистость.

КАК ЭТО РАБОТАЕТ

Размер точки рисования мы задаём цифрой от 1 до 9.

Если мы используем обычное рисование – пером, то такой и будет ширина линии. Но для кисти с мягкими краями пятно расширяется – цифре 1 соответствует радиус круга 4 пикселя, а цифре 9 – 20 пикселей. И не все радиусы при заполнении круга равнозначны – плотность окрашивания в пятне максимальна в его центре, а по мере приближения пикселей к краю пятна, окраска становится всё более прозрачной, следуя закону Cos, она спадает от максимума к нулю. В таблицу эти значения заносятся с прибавлением единицы. И вы эту таблицу можете видеть на рисунке слева.

рисование круглых капель
рисование круглых капель

Плотность в центре кисти подбирается так, чтобы при движении пятна в процессе рисования видимая плотность следа была постоянна для всех размеров пятна. Следы рисования кистью с мягкими краями в обычном режиме «гуашью» показаны на рисунке справа. Режим акварели уменьшает плотность кисти в 4 раза.

Клик по кнопке «опции рисования» делает кнопку зелёной и вводит режим рисования прозрачных капель. Таблица плотности дифференцируется и превращается в таблицу отклонений. Цифры этой таблицы слегка преобразуются в соответствии с выставленной цифрой на кнопке «Плотность» и затем умножаются на координаты пикселя X и Y, и пиксель заимствует цвет со стороны, получая его по вычисленным таким способом координатам.

Режим акварели создаёт впечатление капли, лежащей на поверхности рисунка, а режим гуаши инвертирует лучи, беря цвет для пикселей с противоположной стороны. Опция рисования «а» на жёлтом фоне обрезает каплю по радиусу, делая менее заметными её края.

Видео о таком способе рисования прозрачных капель смотрим тут - http://youtu.be/G1G4eX4PjMk

КАК СОЗДАЮТСЯ ПРОЗРАЧНЫЕ ПРЕДМЕТЫ

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

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

Пусть разница B-G и R-B компонент цвета в системе RGB описывает величину этих отклонений. Нарисуем цветную модель, или возьмём фотографию и усилим, заменим или подкорректируем на ней цвета. А написать программу, которая свяжет отклонения с цветом модели, это совсем легко. Главное, чтобы она была удобна в работе.

Чтобы облегчить рисование цветовой модели, можно напечатать в текстовом поле значок «@» и получить цветовую диаграмму. Она и покажет, какой выбрать цвет для отклонения луча в нужную сторону.

Теперь рисуем цветовые модели, запоминаем их в буфере Канвы, и извлекаем на нужное место рисунка в прозрачном виде.

прозрачные изображения делаются по цветовой модели
прозрачные изображения делаются по цветовой модели

Место для извлечения обозначаем кликом мыши, масштаб изображения выбираем кнопкой «размер точки», затем нажимаем клавишу «j» или эту же клавишу на верхнем регистре – тогда изображение обернётся слева направо.

Изображение можно и поворачивать. Для этого в текстовом поле ставим русскую букву «п» и перед ней указываем угол поворота в градусах.

Если же на кнопке «Градиент» выставить значение 0, то тогда модель показывается не в прозрачном, а в своём истинном виде, в том масштабе и в том повороте, которые были заданы.

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

модель делаем из фото
модель делаем из фото

Таким образом, рисование прозрачных предметов оказывается несложным и очень удобным средством, чтобы разнообразить свои художества. Прозрачные предметы могут быть использованы и в форме Паттернов в векторной графике. Такая возможность в программе DM_Paint тоже есть.

Клип с рисованием прозрачных капель смотрим на Ютубе - http://youtu.be/G1G4eX4PjMk

Скачать программу тут - http://disk.yandex.ru/d/suZ-qnFu4YOdYw

________________

В статью вошли некоторые материалы, опубликованные на моей страничке http://proza.ru/avtor/dimamasht на сайте Проза.ру.