Глаз для персонажа векторной графики
Однако я, в своей программе, придумал, как изобразить глаз, используя только одну единственную фигуру - круг, придав кругу особые опции.
Голубой круг с белой окантовкой в правой части иллюстрации не имеет особых опций. Строка, которая его описывает, выглядит так –
7> 14 92 291 40 2 6 0 0 27615 26409 3
В этой строке, вслед за координатами центра круга идёт число 40 – это радиус белой окантовки круга. Круг заполняется концентрическими окружностями голубого цвета толщиной в размер точки рисования, то есть, в 3 пикселя. Число 2 – это интервал между окружностями, и, поскольку интервал меньше толщины, заполнение круга выглядит плотным. Число 6 – это значение Плотности. Плотность большая пяти организует плотное заполнение.
А теперь посмотрим на первую строку –
1> 14 316 123 80 2 3 55 14143 27615 15206 8
Плотность 3 – означает рисование окружностей тонким штрих-пунктиром, толщиной в 1 пиксель. Но интервал между окружностями равен 2, он остался прежним, и поэтому сквозь заполнение круга просматривается задний фон. А если фоном будет служить анфас лица, то такая радужная оболочка глаза будет вполне естественной и красивой.
На всех последующих строках Плотность равна 6, и голубой круг поэтому плотный.
Однако, откуда взялось верхнее веко, могущее сдвигаться вправо или влево, и нижнее веко, прикрывающее глаз снизу? Откуда взялся чёрный зрачок и яркий блик поверх него?
Никаких дополнительных фигур векторной графики для этого не потребовалось - вся информация содержится в той же первой строке. Заморачиваться этими цифрами не стоит. Главное – создать окружность, а затем изменить её соответствующим образом.
Привожу выдержку из раздела Help –
Впоследствии, сделанную окружность можно заполнять тонкими линиями
разного вида, если поставить значение Плотности от 1 до 5. Расстояние
между кругами заполнения регулируется цифрой на кн.Разрежение следа.
В режиме Показа, нажимая клавишу ъ, выбранную окружность можно
сделать похожей на глаз, снабдив её чёрным зрачком и веком, а клавишей
Ъ верх.рег. добавлять и убирать нижнее веко, окрашенное в цвет фона.
Без верхнего века с нижним можно сделать кружочек, похожий на нос.
Снабжая зрачок верхним веком можно несколько раз нажимать клавишу ъ,
смещая веко вправо или влево, при этом значения Градиента >0 будут
создавать блик и смещать зрачок по углам квадрата 1-3 7-9.
Вся прелесть состоит в том, что столь подробное изображение глаза помещается в одной единственной фигуре, в одной единственной строке.
При увеличении или даже при сильном уменьшении своего размера, глаз продолжает выглядеть вполне естественным, Некоторые параметры подстроить нужно, но не очень сильно.
Какая строка относится к какому глазу, вы можете разобраться, рассматривая иллюстрацию и оценивая радиус круга, изображающего глаз – 4, 8, 10, 40 и 80.
Таким образом, простейшая векторная фигура – круг, способна довольно естественно изобразить глаз, если немного расширить свойства этой фигуры, снабдив её для этого особыми опциями.
Почему я принялся за это дело? Ну, во-первых, результат оказался полезен. А во-вторых, в строке, описывающей простой круг, имелось пустое место – два нуля, не несущие никакой информации. Для других фигур на этом месте стоят координаты точки начала заливки. Но круг, в таких указаниях не нуждается – он заполняется из центра. Вот я и подумал, «не пропадать же добру».
И вот, на месте первого нуля у меня стоит описание положения зрачка и смещения верхнего века, а на месте второго нуля - цвет нижнего века. Такой прямо "кладезь информации" получился.
При переходе на обычный стандарт, чтобы изобразить глаз, к первоначальному кругу нужно добавить ещё два других круга – зрачок с бликом, и две кривых Безье – для верхнего и для нижнего века. А в моей записи, общей для всех векторных фигур - строкой из 11-ти целых чисел, для изображения глаза ничего дополнительного добавлять не нужно
__________
29.09.2021
Свидетельство о публикации №221092900827