Мини-лекции 29. Кривые Безье

   Кто такой Пьер Безье и причём здесь какие-то кривые?! Он, Пьер француз, профессор, математик и просто умный человек. Он ПАТЕНТООБЛАДАТЕЛЬ этих самых кривых Безье. Это как и в случае с изобретением радио (да и не только). Кто первый запатентовал, тот и главный. В смысле эти кривые кто-то ещё раньше придумал, но увы?!

   Сколько времени существовали эти кривые? Правильно, применил их в деле Пьер Безье, да ещё и запатентовал! А применил в известной фирме «РЕНО», где и работал. Плюс использовал и поверхности на основе этих самых Безье... Так, что теперь не одна уважаемая (себя) контора, очень «закомпьютерованная» и проектируемая не обходится без этих самых Безье! В смысле векторной графики...

   Все эти чёртовы, загогулины можно представить как кривые состоящие и множества сегментов ограниченных так называемыми опорными точками (квадратиками). Сегмент же в свою очередь (в отличие от растровых) описывается математическими уравнениями: первой, второй и третьей степенью рис2. А кривые Безье той же третьей, но с меньшим числом коэффициентов. А, нам, безграмотным без этих Безье ну никак не обойтись... А, так-как в нашем распоряжении лишь фотошоп, он и даёт возможность управлять этими самыми кривыми, даже если они и кривые, но не очень?!

   Итак, сегмент той самой не очень кривой, ограниченный опорными точками рис6,7. При определённых условиях снабжается касательными в виде отрезков прямых с точками на концах рис3,6,7. Управляя этими рычагами-манипуляторами мы можем изменить кривизну и без этого кривых. Естественно и форму контуров.

   «СВОБОДНЫМ ПЕРОМ» нарисуем от балды контур рис6. Выделим его инструментом «Выделение Пути» рис1. По всему периметру появятся чёрные квадратики, — узловые точки. С переключенной клавиатурой на латиницу, удерживая «Alt» перетащим с копированием наш контур в сторону или даже на другой документ на рис7. Щёлкнув тем же инструментом по пустому полю избавимся от узловых точек. Затем, уже другим инструментом «Прямое Выделение» выделим контур рис6. Появятся узловые точки, но в виде полых квадратиков. Причём на ближайших двух точках появятся манипуляторы. Если Вы щёлкните на квадратик из свободных точек, то квадратик почернеет и станет активным. На нём и двух ближайших так же появятся манипуляторы.

   Теперь Вы смело можете управлять ими как инструментом «Прямое Выделение», так и «ПЕРОМ» с плюсом. Уцепившись за чёрный квадратик можете двигать весь сегмент, но только первыми двумя инструментами. «ПЕРО» же с минусом просто удалит точку! Вот все манипуляции и показаны на рис7. Немного о видоизменениях инструмента «ПЕРО» в различных ситуациях. На рис4b показана реакция «ПЕРО» при приближении указателя к простому контуру, скажем нарисованным свободным пером. С правой стороны появился крестик. То есть «ПЕРО» не знает, что ему делать? Если мы щёлкнем по правому краю контура то появится активная точка, с противоположной стороны пустой прямоугольничекне — неактивная точка рис5а. Как выглядит указатель Вы и сами видите?! На рис5b слева указатель готов поставить точку. На рис5с может добавить точку, а на рис5d наоборот, убрать. Так, что «ПЕРО» с виду как бы простенькое, а на самом деле не очень?!

   Теперь приступим к практическому использованию этих Безье. Если Вы по-серьёзному будете работать с векторной графикой, то наш маленький урок пойдёт Вам только на пользу. Ну, а если нет, то хотя бы почувствуете эти Безье и как оно работает?! Задача простая (с виду), обрисовать объект. То есть получить готовый контур в точности повторяющий границы объекта. Ранее мы рассматривали получение контура из выделения и как там всё было трудно получить точность как самого выделения, так и ещё сложнее контура?! Сначала ошибки выделения, а потом плюсом получение контура. Сегодня же мы будем напрямую создавать контур-копию границы объекта. Вариантов несколько. Точнее три.

   ПЕРВЫЙ. С помощью инструмента «СВОБОДНОЕ ПЕРО», но с включенной опцией «МАГНИТНОЕ». В свойствах инструментов нужно поставить галочку. Указатель примет вид пера с магнитиком рис8,9 внизу. Вы ведёте указателем по границе объекта и программа сама прижимает к объекту тонкую нить-контур и вдобавок, по ходу ставит опорные точки. Как только указатель обойдя объект сравняется с начальной точкой рядом появится кружочек. Щёлкните мышкой и всё, контур готов. Конечно будут погрешности, но их можно исправить. Большой недостаток варианта, необходимость контрастного объекта. Так, что месиво лишних деталей на документе с объектом может свести Ваши усилия к нулю!

   ВТОРОЙ. Он несколько продолжительный и не совсем может быть точным?! Это рисование «ПЕРОМ» обычным, что в списке инструментов стоит на первом месте. Два вида: либо просто ставить опорные точки которые сами будут автоматически соединяться между собой. Либо включить опцию «РЕЗИНОВАЯ ЛЕНТА». По окончанию обрисовки объекта поступайте как и при первом варианте. Если Вам нужен будет только сегмент, то после последней точки жмите Ctrl. Нить оборвётся, а Вы указатель перетащив на панель инструментов, щёлкните по картинке, стрелочки с крестиком. Недостаток варианта в том, что контур будет в общем виде представлять собой ломанную линию. И чтобы приблизиться точности обводки нужно ставить как можно больше точек, увы! Погрешности убираются как обычно(об этом поговорим позже). На рис8,9,10 показаны фрагменты процесса обрисовки объекта имевшего кривые линии-границы. После окончательной доводки контур выделяется инструментом «Выделение Пути (контура)» и сдвигается в сторону рис10. Самое точное это с помощью «МАГНИТНОГО ПЕРА«. Наш объект более-менее контрастный. На рис8,9,10, рисование чистым «ПЕРОМ». А так-как линия ломанная, то приходилось исправлять положение! Как? Вы узнаете на примере в конце мини-лекции. Там линия не только ломанная, но и вообще многоугольник! И ничего... Всё получится! По большому счёту всё в мире не идеально... Не даром же существуют всякие допуски-посадки... И в векторной графике допустимые погрешности... Посмотрите при сильном увеличении границу объекта. Если визуально она прямо-таки идеально ровная, то в реальности пила-пилой из пикселов. Фильм был-есть такой «Добро пожаловать или...» Там сотрудник лагеря бегал с плакатом и всё спрашивал: «Куда ставить?» Вот и мы на распутье, куда границу ставить, в смысле где она? Или просто обозначить полосу, да и хрен с ней, с точностью?! В реальности так оно и есть!

   ТРЕТИЙ. С помощью управляемых кривых Безье! Посмотрите на рис11. Это нарисованная заранее часть окружности серым цветом. На вершине нарисованы как бы манипуляторы голубым цветом. ВСЁ это НАРИСОВАНО! Красные стрелы указывают на Ваши действия. Какие? Сейчас всё поймёте. Берём инструмент «ПЕРО» без прибамбасов! Ставите опорную точку 1. Затем ставите вторую на вершине (тотчас тонкая нить соединит точки 1,2!) и НЕ ОТПУСКАЯ клавишу мышки, тянете указатель по направлению красной стрелки рис12. За указателем потянется манипулятор-рычаг управления кривизной. Прямая линия между опорными точками изогнётся и в соответствие с Вашим действиям займёт место как на рис12. Далее поставьте пером точку 3. Мгновенно точки 2 и 3 соединятся кривой Безье как на рис13! Аналогично была сделана обрисовка синусоиды на рис14. Начиная с первой точки 1 и двигая манипуляторами в несколько минут создадите обрисовку. И как результат, контур тонкой линией, которую я сдвинул вправо.

   Вот на этом сайте:https://render.ru/ru/a.lauhin/post/12445
некто Алексей даёт урок именно по нашей теме. Правда разговор идёт о работе в программе CorelDraw, но это не меняет дела?! Ниже страницы отзывы... Так-как мы имеем дело с Фотошопом, то? То, все его рассуждения слишком длинные и непонятные (в отсутствие CorelDraw)... И я решил дедовским (фотошоповским) способом сделать обрисовку объекта предложенного Алексеем в качестве домашнего задания! И вот результат на рис4. Сам объект зелёного цвета (в задании он красный и с логотипом). Чёрной плавной линией, повторяющий границу объекта, контур. Чёрные квадратики опорные точки, точки подвергшиеся каким либо изменениям (редактированию). Точки с красной обводкой не подвергшиеся редактированию. На самом объекте красные кружочки прямо по центру которых опорные точки. Но они строились в порядке очереди обхода объекта с левой, крайней. Всё происходило также как на рис11,12,13 и 14.

   Работаем обычным «ПЕРОМ». Ставим точку на острый кончик. Следующую на вершину (по часовой) и не отрывая указателя тянем вправо до того как изогнувшаяся прямая будет в верхней части объекта будет обтекать границу. Затем ставим вторую точку на другой острый кончик. Точка соединяется с предыдущей почти зеркальной линией... Далее ставим точку в самый низ объекта и также как в верхней точкой, тянем теперь уже влево до нужного обтекания. Далее как на рис4 ставим следующую точку, а потом и на начальной, щелчок. Далее придётся тщательно подгонять кривизну контура под кривизну границы объекта! По ходу дела я решил упростить процедуру... Я просто критические места (точки) соединил прямыми, без всяких изгибаний. Получается такой многоугольник с красными кружочками в вершинах. Правда на рисунке нет закруглений, но? Но как оказалось это пустые хлопоты! Я из такого многоугольника путём 2-3-4-5 поправок превратил его в контур, что Вы и видите. Как же поправить наш многоугольник и сделать красиво? Очень просто. На панели инструментов выбираете вместо «ПЕРО» третью строчку «Добавить Ключевую Точку».

   Далее по часовой (хотя вовсе не обязательно по часовой?!) Начинаем справлять свои ошибки. Добавляем первую точку (они подкрашены голубым), слева крайняя, верхняя. Отжимаем клавишу мышки. Затем направляем указатель на эту точку и тянем её по направлении стрелки. До момента когда линия контура совпадёт с границей объекта. Здесь нужно уточнить некоторые моменты?! Наверняка Вы в жизни сталкивались с натяжением нити, в смысле она подвешена на опорах, а Вы подвешиваете на неё грузик. Нить натягивается, провисает, образуя латинскую [V]. То есть всего лишь ломанную линию. Мы же делаем тоже самое с прямой между точками. Мы добавленную точку и двигаем в сторону. По аналогии с реальной нитью она должна приобретать вид той же [V]. Но мы имеем дело с Безье!!! Поэтому она не ломается, а меняет кривизну! Параллельно двигаем точку вдоль границы до момента когда контур в ближайшей области в точности совпадёт с границей объекта. Линия контура хотя и изогнётся, но ниже будет отступать от границы объекта. Ну как скажем на противоположной, правой части. Из-за разницы в кривизне границ объекта здесь сразу же нужно будет двигать попеременно верхнюю и нижнюю точки, но в разные (по стрелке) стороны. Аналогично поступаем и с остальными сторонами многоугольника. Потренируетесь и у Вас всё получится! У меня же получилось! Чем Вы хуже меня?!! Традиционно, желаю удачи!

   И на прощание! Если Вы надумаете заниматься по-серьёзному векторами, выберите одну из программ: CorelDraw или Illustrator. Говорят, что есть ещё и другие программы, но я как-то не очень вникал?! В каждой программе свои правила, понятия, обозначения... Даже с фотошопами не всё ладно... В новых версиях может быть много чего изменено, а там как повезёт с обучением и работой!
 Вот теперь, ВСЁ!


Рецензии