5.4. Инструмент Shape и манипулирование узлами кривых
Выделение узлов
Узлы выделяют теми же приемами, что объекты, только активным инструментом при этом должен быть не Pick (Выбор), a Shape (Форма). Для того чтобы выделить
узел, достаточно щелкнуть на нем указателем инструмента. Для того чтобы добавить узел к выделенным (или вывести узел из выделения), этот щелчок следует
выполнить при нажатой клавише SHIFT. При растягивании рамки выделения вокруг кривой после отпускания кнопки мыши окажутся выделенными все узлы,
оказавшиеся внутри рамки.
Для того чтобы переместить выделение на начальный узел кривой, нажмите клавишу HOME, на конечный узел - клавишу END. Нажатие клавиши TAB перемещает выделение к следующему узлу кривой, SHIFT+TAB - к предыдущему узлу.
Для выделения всех узлов кривой достаточно выделить любой из ее узлов затем нажать клавиши CTRL+SHIFT+HOME.
Перетаскивание направляющих точек узла
Поведение сегментов, входящих и выходящих из узла линии, определяется расположением направляющих точек. После выделения узла на экране становятся
видны направляющие точки, определяющие поведение обоих смежных с ним сегментов. Чтобы изменить форму сегмента, не перемещая узлов, достаточно
перетащить соответствующие ему направляющие точки указателем инструмента Shape (Форма). Для освоения этого приема выполним небольшое упражнение.
Упражнение 5.2. Перетаскивание направляющих точек
- Начнем с построения кривой, близкой по форме к периоду синусоиды. Для этого выберите инструмент Bezier (Кривая Безье) и щелкните мышью на
свободном месте страницы. Перед тем как отпустить кнопку мыши, перетащите ее указатель вверх и вправо на некоторое расстояние. Отступив вправо,
постройте еще один узел, только теперь перетащите указатель инструмента вниз и вправо. Наконец, отступив еще раз вправо, постройте третий узел кривой
точно так же, как первый. В результате должна получиться кривая, похожая на представленную в верхнем левом углу рис. 5.7.
- Разместите копию построенной кривой справа от нее. Для этого временно выберите инструмент Pick (Выбор), нажав клавишу пробела, и перетащите
выделенную кривую вправо, не забыв перед освобождением левой кнопки мыши щелкнуть ее правой кнопкой. Возвратите активность инструменту Shape (Форма),
повторно нажав клавишу пробела. Щелкните указателем мыши второй узел копии, воспользовавшись правой кнопкой мыши, чтобы раскрылось контекстное меню
выделенного узла, приведенное на рис. 5.8. Воспользуйтесь командой Smooth (Сглаженный) для преобразования типа выделенного узла. Аналогичным образом
постройте справа от копии кривой еще одну ее копию, а затем преобразуйте второй узел исходной кривой в точку излома, воспользовавшись командой Cusp
(Точка излома) контекстного меню. В результате у нас получились три внешне одинаковые кривые (верхний ряд на рис. 5.7).
- Выделите второй узел левой кривой и обратите внимание на строку состояния, где указан тип выделенного узла - Cusp (Точка излома). Переместите указатель инструмента на нижнюю направляющую точку и перетащите его таким образом, чтобы она расположилась примерно посередине между вторым и третьим узлом кривой (второй ряд на рис. 5.7, слева). Обратите внимание на то, что вторая направляющая точка узла при этом осталась неподвижной. Перемещение направляющей точки узла типа «точка излома» влияет на форму только одного сегмента кривой (третий ряд на рис. 5.7, слева), но, как правило, при этом меняется угол излома кривой в узле.
- Выполните аналогичное редактирование положения направляющей точки второго узла копии кривой. Поскольку в этом случае мы имеем дело со сглаженным узлом, перемещние одной из направляющих точек против часовой стрелки вызовет перемещение второй направляющей точки на тот же угол в ту же сторону. Однако приближение перемещаемой направляющей точки к узлу не окажет никакого влияния на расстояние до узла второй направляющей точки. В результате гладкость кривой в узле будет сохранена, а симметричность - нарушена (третий ряд на рис. 5.7, в центре).
- Выполните то же редактирование положения направляющей точки для второго узла правой копии кривой. На этот раз узел симметричный и смещения обеих направляющих точек будут совершенно одинаковыми. Вследствие этого кривая в окрестности узла останется не только гладкой, но и симметричной (третий ряд на рис. 5.7, справа).
- В заключение упражнения самостоятельно исследуйте влияние положения направляющих точек крайних узлов кривой на ее форму.
Редактирование узлов
Команды редактирования выделенного узла приведены в контекстном меню этого узла, уже знакомом нам по рис. 5.8. Кроме команд меню, редактирование
узлов возможно с помощью кнопок панели атрибутов, соответствующей выделенному узлу или нескольким выделенным узлам и представленной на рис. 5.9.
Ниже отдельные элементы управления панели атрибутов описаны в контексте операций редактирования узлов, сегментов и кривой в целом.
- Добавление и удаление узлов. Зачастую для придания кривой желаемой формы требуется разместить на ней новые узлы. Простейший способ добиться этого - выполнить двойной щелчок указателем инструмента Shape (Форма) в той точке кривой, где должен появиться новый узел. После двойного щелчка вновь созданный узел выделяется, и можно назначить ему нужный тип. Если выделить существующий узел кривой и щелкнуть на панели атрибутов кнопку со знаком «плюс», новый узел будет создан точно в середине сегмента, предшествующего выделенному узлу, причем оба узла (и ранее существовавший, и вновь созданный) будут выделены. Повторный щелчок кнопки добавления узлов приведет к появлению еще двух новых узлов.
- Сглаживание кривой. В обзем случае чем меньше узлов содержит кривая, тем более гладкой она выглядит. Однако если бы от количества узлов зависело только это, о нем можно было бы не беспокоиться. Дело в том, что чем больше узлов у кривой, тем больше вычислений требуется для ее преобразования и построения изображения той кривой. Иногда количество узлов кривой может выйти из-под контроля пользователя. Особенно часто это случается при трассировке точечных изображений, построении кривых «от руки» и применении некоторых инструментов, например Eraser (Ластик). Ползунок степени сглаживания, расположенный на панели атрибутов, позволяет пользователю самостоятельно определять условия компромисса между количеством узлов кривой и точностью ее формы. Если выделить все узлы кривой, а затем постепенно увеличивать значение степени сглаживания (с помощью поля на панели атрибутов или связанного с ним ползунка), CorelDRAW будет последовательно удалять отдельные узлы, стремясь к наименьшему возможному отклонению от исходной формы кривой.
- Разъединение кривой, объединение узлов и замыкание. Операция разъединения кривой позволяет разомкнуть замкнутую кривую или разъединить незамкнутую кривую на две ветви, остающиеся частями одной кривой, но не связанной друг с другом сегментами. Для того, чтобы разъединить кривую в выделенном узле, достаточно выбрать в контекстном меню крманду Break Apart (Разъединить) или щелкнуть одноименную кнопку на панели атрибутов. В месте выделенного узла образуются два новых узла, не соединенных сегментом. Обратной по отношению к операции разъединения является операция объединения узлов. Для того чтобы объединить два выделенных узла, достаточно выбрать в контекстном меню команду Join (Объединить) или щелкнуть на панели атрибутов одноименную кнопку. При этом посередине между двумя выделенными yзлами создается новый узел, сами выделенные узлы удаляются, а соседние с ними узлы кривой соединяются сегментами с вновь созданным узлом.
- Постройте на свободном месте страницы окружность и преобразуйте ее в замкнутую кривую с помощью кнопки панели атрибутов (на ней изображена
окружность с четырьмя узлами). На окружности, ставшей замкнутой кривой, появятся четыре узла (рис. 5.10,а).
- Выделите правый узел и разъедините в нем кривую. Обратите внимание на строку состояния - сообщение в ней говорит о том, что кривая стала разомкнутой, и в ней стало на один узел больше (вместо четырех - пять). Перетащите правый узел вниз и вправо, и под ним обнаружится вновь созданный узел (рис. 5.10,б).
- Затем разъедините кривую в левом узле. После этого действия кривая приобретет еще один узел и разделится на две ветви, а информация об этом появится в строке состояния. Перетащите левый узел кривой вниз и вправо, чтобы все узлы на обеих ветвях кривой были видны (рис. 5.10,в).
- Выделите крайний левый узел на нижней ветви кривой и крайний правый узел на ее верхней ветви. Объедините эти узлы, снова превращая кривую в односвязную (состоящую из одной ветви). Результат представлен на рис. 5.10,г.