Соединение нескольких секторов

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

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

В качестве образцов опорных точек составим таблицу для следующих векторных программ, использующих кривые Безье: CorelDRAW, Adobe Illustrator и Macromedia FreeHand.

Замечание. Типы опорных точек в трехмерной графике представлены ниже на примере Autodesk 3D МАХ.

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

Такое состояние сегментов называют изгиб (рис. 1.27).

В программе CorelDRAW такая точка называется перегиб (cusp). В других программах у нее более простое имя: угловая (corner). Помимо этого, в программе FreeHand при выделении угловая точка обозначается квадратиком.

Угловое сочленение сегментов (изгиб) далеко не всегда разумно и выгодно. Например, для создания окружности необходимо обеспечить соединение, которое в черчении и в геометрии называют гладким сопряжением, когда одна кривая плавно переходит в другую. Такое сопряжение обеспечивает гладкая опорная точка (smooth), рис. 1.28.

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



Рис. 1.27. Пример точки перегиба


Рис. 1.28. Пример гладкой точки


У программы CorelDRAW предусмотрен подвид гладкого сочленения, который называется симметричный узел (symm от слова "symmetrical") (рис. 1.30). Суть его состоит в том, что управляющие линии фиксируют не только по направлению, но и по величине (длина направляющих всегда одинакова). Если одну из них увеличивать или уменьшать, другая будет синхронно повторять это действие.

Примечание. В программах Adobe Illustrator и Macromedia Freehand такой тип опорной точки отсутствует, хотя его можно получить вручную.

В свою очередь, у программы FreeHand в отдельный вид опорных точек выделен случай гладкого сопряжения прямолинейного и криволинейного сегментов (рис. 1.31). Такая точка получила название тангенциальной (connecter point). При выделении такая точка обозначается треугольником.


Рис. 1.29. Примеры векторных контуров, составленных из кривых Безье

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

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

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

Отсюда следует, что между ними образуются соединительные точки, которые иногда называются узлами (например, nodes – в графическом редакторе CorelDRAW). Метафора в этом случае очевидна: куски проволоки связываются узелками.

В других программах эти точки называются опорные точки (anchor point), дословно "якорные точки" (Adobe Illustrator), или просто точки (Macromedia FreeHand).

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

Типы опорных точек (продолжение). Логика этой точки заключается в следующем: для того чтобы криволинейный сегмент гладко сопрягался с прямой линией, касательная криволинейного сегмента должна совпасть с продолжением прямого сегмента. Поэтому управляющая точка криволинейного сегмента способна двигаться только вдоль этой касательной.

Замечание. В программах CorelDRAW и Adobe Illustrator такое соединение также имеет место, но не выделено в специальный тип опорной точки.



Рис. 1.30. Симметричная опорная точка


Рис. 1.31. Пример тангенциальной точки в программе FreeHand


Типы опорных точек можно суммировать в виде следующей таблицы (табл. 1.1).

Таблица 1.1. Типы опорных точек в различных векторных программах

Тип опорной точки Adobe Illustrator Macromedia FreeHand CorelDRAW
Угловая Corner anchor point Corner point Cusp node
Гладкая Smooth anchor point Curve point Smooth node
Тангенциальная - Connector point -
Симметричная - - Symm node

Типы опорных точек в трехмерной графике имеют ту же основу, но отличаются другими характеристиками (в качестве примера можно рассмотреть опорные точки в программе Autodesk 3D МАХ).

Smooth (гладкая): вершина, через которую кривая проходит "неуправляемо" гладко. Форма кривой определяется расстоянием между соседними вершинами.

Corner (угловая): вершина, в которой кривая получает излом.

Bezier (Безье): вершина Безье с управляющими рычагами, которые не равны по длине, но ориентированы строго в противоположных направлениях. Форма кривой зависит и от направления касательных, и от длины рычагов.

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

Дополнительный материал к теме: представление кривых в КГ!!!


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: