Составные сплайновые формы
Основы работы со сплайнами Что такое сплайны Сплайны (Spline — кусочно-полиномиальная функция) — это двумерные геометрические объекты, которые совершенно самостоятельны и могут служить основой для построения более сложных трехмерных тел. Внешне сплайны представляют собой разнообразные линии, форма линии определяется типом вершин, через которые она проходит. Сплайнами могут быть как простейшие геометрические фигуры: прямоугольники, звезды, эллипсы и пр., так и сложные ломаные или кривые, а также контуры текстовых символов. Основными элементами сплайнов являются вершины (Vertex) и сегменты (Segment). Вершинами называют точки, расположенные на сплайне, при этом первая вершина, обозначающая начало сплайна, отмечается квадратиком белого цвета. Под сегментом принято понимать участок линии сплайна, ограниченный двумя соседними вершинами, — сегменты могут быть как прямо-, так и криволинейными отрезками. Вершины сплайна различаются по типу, от которого зависит степень кривизны прилегающих к данным вершинам сегментов сплайна. Всего выделяют четыре типы вершин (рис. 1): 1. Corner (Угловая) — вершина, в которой сплайн имеет излом, а примыкающие к ней сегменты лишены кривизны. 2. Smooth (Сглаженная) — вершина, через которую кривая сплайна проводится с плавным изгибом, а кривизна прилегающих к вершине сегментов одинакова с обеих сторон. 3. Bezier (Безье) — вершина, напоминающая сглаженную и отличающаяся от нее возможностью управления степенью кривизны обоих сегментов. Последнее осуществляется благодаря наличию в вершине касательных векторов, ограниченных на концах маркерами в виде квадратиков зеленого цвета и называемых ручками Безье. Перемещая ручки Безье, можно изменять направление, в соответствии с которым сегменты сплайна входят в вершину и выходят из нее, а изменяя расстояние от маркеров до вершины — регулировать степень кривизны сегментов сплайна. У вершин данного типа ручки Безье связаны между собой, и перемещение одной из них автоматически вызывает перемещение второй.
4. Bezier Corner (Безье угловая) — вершина, имеющая касательные векторы, позволяющие управлять степенью кривизны сегментов, однако, в отличие от вершин Bezier, у вершин Bezier Corner касательные векторы не связаны друг с другом и перемещение одного из маркеров не зависит от перемещения другого.
Рис. 1. Типы вершин сплайнов Сегменты также различаются по типу: Curve (Кривая) или Line (Линия). Выбрав типа Curve, можно получить криволинейные сегменты, если вершины являются гладкими или имеют тип Безье, в случае же угловых вершин даже при установке типа Curve сегмент останется линейным. Выбор типа Line приводит к игнорированию типа вершин, в результате чего сегмент данного типа всегда выглядит линейным. Создание сплайнов Вначале мы поэкспериментируем с простейшими сплайнами, представляющими собой обычные геометрические фигуры. Активизируйте категорию объектов Shapes (Формы) командной панели Create (Создание), в списке разновидностей объектов укажите тип Splines (Сплайны). Это приведет к появлению на панели группы инструментов, соответствующих типам сплайнов (рис. 2). Для построения стандартных сплайнов используются инструменты Rectangle (Прямоугольник), Circle (Окружность), Ellipse (Эллипс), Arc (Дуга), Donut (Кольцо), NGon (N-угольник), Star (Звезда), Text (Текст), Helix (Спираль) и Section (Сечение). Их построение аналогично созданию примитивов, а расположение вершин и характер любого из названных объектов устанавливаются параметрами в момент создания в панели Create (Создание), а позже — в панели Modify (Изменение). Инструмент Line (Линия) предназначен для создания сплайнов нестандартного вида и работает несколько иначе.
Рис. 2. Инструменты группы Splines Геометрические фигуры Для примера попробуйте создать несколько стандартных сплайнов в виде геометрических фигур, например многоугольник, звезду и спираль, как показано на рис. 3. Попробуйте провести рендеринг, выбрав команду Rendering=>Renderer и щелкнув на кнопке Render. Подробно с данным процессом мы познакомимся позднее, а пока просто поясним, что рендеринг обычно проводится на заключительном этапе работы, он необходим для визуализации созданной модели и его основная задача — сделать модель максимально приближенной к действительности. Проведя рендеринг, никакого изображения в открывшемся окне вы не увидите — дело в том, что по умолчанию сплайны не рендеризируются. Для того чтобы сделать их видимыми во время рендеринга выделите первый сплайн, активизируйте панель Modify (Изменение) и в свитке Rendring (Рендеринг) установите флажок Renderable (Визуализируемый). Аналогичную операцию проведите в отношении двух других сплайнов и вновь выполните рендеринг — сплайны станут видимыми (рис. 4).
Рис. 3. Исходный вид группы стандартных сплайнов Рис. 4. Результат рендерннга Пока все сплайны имеют одинаковую толщину, что несложно исправить, изменив у каждого из них в свитке Rendring (Рендеринг) значение параметра Thickness (Толщина). Обратите внимание на свиток Parameters (Параметры), в котором определяются основные параметры каждого типа сплайнов: размеры, число вершин и пр. Для тренировки увеличьте толщину каждого из сплайнов, измените число вершин у многоугольника и звезды и увеличьте количество витков на спирали, например, так, как показано на рис. 5, 6 и 7. Обратите внимание, что в окнах проекций отразились все изменения, кроме увеличения толщины сплайнов, которая осталась прежней, — ничего страшного, все так и должно быть, поскольку по умолчанию опция Display Render Mesh (Показать визуализируемый каркас) отключена. Убедиться в том, что толщина реально изменилась, можно проведя рендеринг (рис. 8) или просто включив данный флажок. Поэкспериментируйте с прочими параметрами сплайнов, поперемещайте их относительно друг друга и попытайтесь на их основе создать единую композицию, например, такую, как продемонстрирована на рис. 9.
Рис. 5. Панель Modify для звезды Рис. 6. Панель Modify для спирали Рис. 7. Панель Modify для многоугольника Рис. 8. Вид сцены после рендерннга Рис. 9. Композиция из сплайнов Текст Для создания текста перезагрузите файл командой File=>Reset (Файл=>Сбросить), на панели Create (Создание) вновь выберите тип Splines (Сплайны) и активизируйте инструмент Text (Текст). В открывшемся свитке параметров создания сплайна введите нужный текст, выберите шрифт и установите его параметры (рис. 10). Затем щелкните в одном из окон проекций — это приведет к появлению фрагмента текста (рис. 11).
Рис. 10. Панель Create для текста Рис. 11. Текст в окне проекции Perspective Перед проведением рендеринга переместите текст так, чтобы он весь оказался в поле зрения, активизируйте панель Modify (Изменение), в свитке Rendring (Рендеринг) установите флажок Renderable (Визуализируемый) и увеличьте значение параметра Thickness (Толщина), например до 10. Проведите рендеринг и убедитесь, что даже такие простые манипуляции позволяют получить интересный вариант трехмерного текста (рис. 12).
Рис. 12. Текст после рендеринга Линии Создавая предыдущие виды сплайнов, мы не обращали внимание на вершины и сегменты — более того, даже не вспоминали про разные типы вершин. Со сплайнами-линиями все обстоит иначе — в зависимости от особенностей построения кривой они будут дополняться вершинами разного типа. Щелчки левой кнопкой в окне проекции при выбранном инструменте Line (Линия) будут приводить к появлению новой угловой точки (Corner), а перемещение мыши при нажатой левой кнопке — к появлению вершины Безье (Bezier). Данный принцип создания вершин установлен по умолчанию, и при необходимости его можно изменить в свитке Creation Method (Метод Создания) на панели Create (Изменение) — рис. 13. Для этого достаточно сменить положение переключателей Initial Type (Тип вершин при щелчке) и Drag Type (Тип вершин при перетаскивании). Отметим, что в большинстве случаев не стоит менять методы создания вершин (чтобы не путаться) — гораздо удобнее взять за основу устанавливаемый по умолчанию принцип и вначале создавать контуры только с угловыми вершинами, а затем изменять тип у тех вершин, у которых это необходимо сделать.
Рис. 13. Свиток Creation Method Щелчок правой кнопкой приводит к завершению рисования сплайна из линий. При попытке поставить вершину в месте нахождения начальной точки сплайна на экране появляется вопрос «Close Spline?» («Закрыть сплайн?») — утвердительный ответ приведет к получению замкнутого контура, в противном случае контур окажется разорванным и его граничные вершины можно будет независимо перемещать. Теоретически существует и второй метод создания сплайна из линий — режим Keyboard Entry (Ввод с клавиатуры), который предполагает ввод координат (X, Y и Z) каждой из вершин вручную с клавиатуры (рис. 14). Непосредственное добавление каждой новой вершины осуществляется кнопкой Add Point (Добавить вершину), кнопка Finish (Закончить) позволяет закончить создание сплайна, а кнопка Close (Замкнуть) создает сегмент, соединяющий первую вершину с последней.
Рис. 14. Свиток Keyboard Entry Составные сплайновые формы Два типа стандартных сплайновых форм — Donut (Кольцо) и Text (Текст) — принципиально отличаются от всех остальных типов сплайнов тем, что содержат более одного сплайна в форме и потому относятся к составным формам. Кольцо содержит два круговых сплайна. Число простых сплайнов, составляющих текстовый объект, как минимум совпадает с числом входящих в него букв, а может быть и больше, если в тексте присутствуют буквы, состоящие из нескольких сплайнов. Основным преимуществом составного сплайна по сравнению с обычным сплайном является возможность выполнять операции сразу над всеми частями сплайновой формы одновременно, что быстрее и удобнее. Но дело не только в этом — к составным формам приходится прибегать и в других случаях, например при необходимости проведения в отношении сплайнов булевой операции. Для превращения простого сплайна в составной необходимо убрать флажок рядом с кнопкой Start New Shape (Начать новую форму) — рис. 16. После этого любой новый сплайн становится составной частью уже существующей сплайновой формы. Включение названного флажка отменит данный режим, и следующие сплайны уже будут образовывать свои формы.
Рис. 16. Установка запрета на создание новой формы Попробуем создать имитацию простой решетки в виде составного сплайна — такие решетки сплошь и рядом используют при создании разнообразных ограждений. Для начала создайте сплайн типа Rectangle (рис. 17), а затем перейдите в режим создания составной формы, отключив флажок Start New Shape (Начать новую форму). Добавьте к прямоугольнику дугу инструментом Arc (рис. 18). Обратите внимание, что для совмещения концов дуги с контуром прямоугольника удобнее воспользоваться ручным изменением параметров From (От) и To (В), определяющих начальную и конечную точки дуги. Не включая флажка Start New Shape, дополните форму серией линий примерно как на рис. 19.
Рис. 17. Исходный прямоугольник Рис. 18. Появление дуги Рис. 19. Появление группы линий Щелкните на свободной части любого окна проекций, чтобы снять выделение с решетки, а затем выделите ее инструментом Select Object (Выделение объекта) — решетка выделится вся целиком, что говорит о ее единстве. Это позволит настроить параметры сразу для всех входящих в форму сплайнов, что очень удобно. Активируйте панель Modify (Изменение), в свитке Rendring (Рендеринг) установите флажок Renderable (Визуализируемый) и увеличьте значение параметра Thickness (Толщина). Проведите рендеринг — возможно, полученная решетка будет иметь примерно такой вид, как на рис. 20. Однако решетка получилась неидеальной, поскольку разбить дугу на одинаковое число сегментов на глаз проблематично. Для подобных целей лучше использовать возможности автоматического разбиения сегментов на заданное число равных частей, но это предполагает редактирование формы на уровне подобъектов, поэтому к вопросу создания решетки мы еще вернемся. Кроме того, не совсем удачно выбран принцип установки толщины — в реальной решетке ее прямоугольное основание, как правило, имеет гораздо большую толщину, чем отдельные прутья. Чтобы учесть данный аспект, необходимо создавать решетку из отдельных сплайнов или редактировать ее потом на уровне сегментов.
Рис. 20. Решетка
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|