Смекни!
smekni.com

Flash. Кривые Безье (стр. 1 из 2)

Сегодня мы поговорим о кривых, или, как их еще иначе называют, о путях. Эта тема была выбрана не случайно. Мы не раз уже обращали ваше внимание на то, что Flash — это программа, в большей степени работающая с векторными элементами, а пути являются основой практически любого вектора. Следует также отметить, что раньше мы рассматривали программы, предназначенные для обработки растровых изображений, такие как Adobe PhotoShop, Corel Photo-Paint, поэтому о векторах говорили лишь обзорно, но пришло время это исправить.

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

В PhotoShop, например, есть целая группа инструментов для работы с путями, основой которой является Pen. Подобные инструменты вы можете встретить в любом редакторе векторной графики и в большинстве хороших растровых программ.

Причина этому проста — во всех продуктах пути создаются и редактируются по одному принципу, так как в их основе лежит одно понятие — кривые Безье.

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

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

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

Прежде, чем что-то изучать, нужно понять, какую функцию выполняет этот инструмент, средство.

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

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

А при помощи кривых создание сложных фигур сводится к очень простым и интуитивно понятным манипуляциям.

Кроме того, фигуры, нарисованные при помощи контуров, можно трансформировать и масштабировать без потери качества (в этом одно из главных достоинств векторной графики вообще).

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

Второе основное значение путей — выделение. Если обратиться вновь ко всеми уважаемой и любимой программе PhotoShop, то в ранних версия, например в 3, большая часть работы с выделением никак не могла обойтись без этого столь замечательного инструмента. С развитием программы появились и другие способы маскирования, однако пути не утратили своей актуальности и в данный момент, и иногда все же удобнее выделять при помощи инструментов группы Pen (Перо). Кроме того, контуры сохраняются во многих типах файлов, в отличие от чистого выделения и Альфа каналов. И при хранении размер файла от добавления в него контура почти не увеличивается, что нельзя сказать про другие способы выделения. Именно поэтому довольно часто в коммерческих библиотеках изображений, которые можно купить на CD носителях, изображения поставляются с обтравочными контурами.

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

Рассмотрим несколько подробнее путь, из чего он состоит и как с ним работать.

Структура контура

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

В контурах, как нигде, нужно интуитивно чувствовать, к чему приведет то или иное изменение. А достигается это только одним способом — в ходе собственной практики.

Посмотрите на рисунок. На нем показана структура контура.

Как видно, контур состоит из четырех основных элементов.

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

2. Якорная точка (Anchor Point). Кривая Безье с двух сторон ограничена именно этими линиями, они во многом определят ее форму. В случае, если в контуре больше двух якорных точек, то, следовательно, он состоит из множества кривых Безье. Якорные точки можно передвигать относительно друг друга, настраивая вид пути.

3. Направляющая линия (Control Handle). Эта линия выходит из якорной точки. Она является касательной к кривой Безье. Для тех, кто не очень помнит математику, объясним — это значит, что эта линия касается прямой только в одной точке и что любые изменения, которые вы будете производить с направляющей линией, будут самым прямым образом отражаться и на кривой. Направляющих может быть одна или две.

4. Маркер. Именно так называется этот фрагмент, которым заканчивается направляющая линия. Служит маркер для одной цели — изменения длины и положения направляющих. С положением все ясно — уже было сказано, что это касательная к кривой Безье, поэтому, меняя положение, мы меняем ее форму. Такое же важное значение имеет и длина направляющих. Она определяет амплитуду кривой, или, если проще, — степень "выгнутости".

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

Виды якорных точек

Во Flash существует два типа якорных точек. Разработчики назвали их Smooth (Гладкие) и Corner (Острые). Эта тонкость очень повышает удобство работы с контурами, но новичкам осваивать гораздо сложнее, чем если бы был один тип.

Сначала поговорим про более простые, гладкие якорные точки. Гладкий угол всегда имеет две направляющие с разных сторон. Они взаимосвязаны — при повороте одной на определенный градус точно так же поворачивается вторая. Лучше всего воспринимайте их как одну линию — это наиболее прямая аналогия.

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

Другой тип якорных точек — острые якорные точки. Они отличаются от гладких тем, что у них может быть три варианта наличия вспомогательных линий (в противовес гладким, у которых только один тип — две направляющие линии):

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

2. Одна вспомогательная линия. Так как вспомогательные линии в этом режиме, в отличие от режима гладких якорных точек, не связаны, то объект можно трансформировать и при помощи одной линии.

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

Внимание

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

Еще раз повторимся, что, в принципе, при помощи контуров можно передать абсолютно любую форму — все зависит от навыков и таланта. У авторов был знакомый, который умел контурами имитировать подчерк (!) человека. Конечно, это уникальный случай, но про возможности инструментов говорит много.

Рассмотрим основные инструменты работы с путями, которые встречаются практически в каждом графическом редакторе.

Инструменты группы Pen и методы создания контуров при помощи них

Pen Tool (Перо)

Главный инструмент для работы с контурами. Нельзя сказать, что при помощи его выполняется больше работы, чем при помощи других. Дело не в этом. Просто Pen Tool обычно создает основу, путь, почти все другие — только редактируют его.

Есть два основных способа работы с Pen — создание прямоугольных, острых контуров и более сложных, плавных.

Начнем с более простого, с прямоугольных форм. Создайте новый документ. Запустите указанный инструмент. Кликните левой клавишей мыши. Появится первая якорная точка. Отведите курсор немного в сторону и снова кликните. Появится вторая якорная точка и тотчас соединится с первой кривой Безье.

Пользуясь точно такой же технологией и дальше, можно создать достаточно сложный контур.

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