Элементы анимации в векторной графике

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

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

        1>     37  312  69  2  5  34  300  99  5338  703  4
   2      0  312  69  312  69  463  152  377  165  0  0
   3      0  315  139  314  135  353  133  354  137  32416 -92
   4      0  377  165  377  165  287  159  253  182  0  0
   5      0  348  294  326  277  372  180  302  170  6710 -78
   6      0  253  182  253  182  163  173  312  69  0  0

Из этих сегментов, только три, с нулями на конце, составляют контур шляпки гриба. Строка 5 изображает его ножку, а строка 3 – глаза.

   Какие глаза? – воскликнет читатель, в этой строке нет и намёка на круги, или на их размер и расположение.

   На самом деле намёк есть. Информация заключена в последнем числе этой строки. Отрицательное число означает, что описывается особый объект.
9 – толщина объекта, 2 – его тип.
   Тип 1 или 2 означает, что вместо кривой Безье рисуются глаза, для типа 2 - с радужной оболочкой.
   Радужная оболочка имеет цвет 32416 – синий. Глаза расположены по координатам концов кривой Безье, а зрачки вместе с радужкой – по координатам оттягивающих точек.
   При этом корректировка положения глаз проводится вполне в общем духе – мы выделяем нужный сегмент фигуры (входя в него на верхнем или на нижнем регистре клавиш < и > ) и передвигаем точки клавишами со стрелочками.
   Вошли в сегмент на нижнем регистре – двигаем зрачки (по отдельности, нажимая или не нажимая Shift), вошли на верхнем регистре – двигаем глаза целиком. И это очень удобно.

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

  КАК ДЕЛАЮТСЯ РУЧКИ И НОЖКИ

   Веер чертится быстрым и непрерывным движением. Чтобы спицы веера получались редкими, на кнопке разрежения следа нужно установить цифру 3. Тогда компьютер будет реагировать не на каждое перемещение мыши на соседний пиксель, а на каждое третье перемещение. А если работать с планшетом, то на каждое шестое.
   Все пройденные точки соединяются линиями с начальной точкой – с той, с которой было начато движение.
   Веер запоминается в качестве графического примитива, однако, демонстрируется он немного не так, как был начерчен – толщина его спиц может быть изменена, а если цифра на кнопке «Плотность» не равна нулю, то поверх веера чертится точно такой же, с более тонкими спицами другого цвета. В результате получается графическая фигура цвета фона с окантовкой.

   В режиме редактирования первую спица веера можно вытянуть, а другие спицы расположить как пальцы на конце вытянутой руки. Однако, как руку, этот графический примитив использовать неудобно – точка его перемещения и вращения оказывается на кисти, а не на плече.
   Поэтому мы поступаем иначе. Кликая правой кнопкой мыши по маленькой кнопочке опций под кнопкой «Плотность», устанавливаем цифру 1 и закрепляем Веер в таком виде –

        7>     25  360  203  8  5  4  1  0  9462  6710  9
   8      0  407  227  405  259  420  262  428  254  431  245

Здесь, вслед за логотипом 25 идут X,Y координаты начальной точки,
8 – ссылка на начало координат спиц, 5 – число спиц,
4 – значение Плотность (толщина фона),
1 – номер точки ветвления спиц.

Во второй строке идут X,Y координаты концов спиц.

   Все точки, от нулевой (начальной) и далее, последовательно соединяются линиями одна с другой, до тех пор, пока не встречается точка ветвления. После этого все линии привязываются одним концом именно к ней.

   Результат вы видите на иллюстрации. Таким способом можно изобразить и ручки, и ножки, и даже хвост. Такие примитивы легко передвигать и поворачивать как единое целое вокруг начальной точки.
   Клавишами < и > любую точку Веера можно выделить и затем, передвигать её, сгибая или разгибая колено, так, как это показано на рисунке.

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

__________
11.11.2020


Рецензии