Основы работы со сплайнами

Автор работы: Пользователь скрыл имя, 26 Сентября 2011 в 14:19, реферат

Краткое описание

Что такое сплайны

Создание сплайнов

Геометрические фигуры

Текст

Линии

Составные сплайновые формы

Редактирование сплайнов

Редактирование на уровне вершин

Изменение типа подобъектов

Редактирование на уровне сегментов

Редактирование на уровне сплайн

Содержимое работы - 1 файл

игс.doc

— 1.67 Мб (Скачать файл)

Основы  работы со сплайнами

Светлана  Шляхтина

  Что такое сплайны

  Создание сплайнов   

  Геометрические фигуры   

  Текст    

  Линии    

  Составные сплайновые формы

  Редактирование сплайнов   

  Редактирование на уровне вершин   

  Изменение типа подобъектов   

  Редактирование на уровне сегментов   

  Редактирование на уровне сплайнов  

  Как мы выяснили в предыдущих уроках, даже взятые за основу примитивы позволяют путем  ряда нехитрых манипуляций создавать разные трехмерные тела — от абстрактных объектов до полностью реальных моделей. Еще большие перспективы открываются при использовании в качестве исходных объектов форм (Shapes), которые представляют собой набор двумерных или трехмерных кривых. Формы объединяют два типа объектов — Splines (Сплайны) и NURBS Curves (Кривые NURBS). Рассмотрим в этом уроке сплайны, так как они популярнее и чаще используются в моделировании. Однако мы изучим только самые простые приемы работы со сплайнами, а вопросы сплайнового моделирования оставим для следующих уроков.

Что такое сплайны

  Сплайны (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

  Чтобы закрепить  навыки работы со сплайнами-линиями, попробуйте создать сплайн, представленный на рис. 15, и сохраните его на диске  — в дальнейшем мы превратим его  в рюмку. Обратите внимание, что данный сплайн содержит только угловые вершины. Удобнее всего начинать создание контура с правой нижней вершины (на контуре она отмечена белым квадратиком) и, учитывая, что большинство сегментов соединяются друг с другом под прямым углом, удерживать нажатой при построении данных фрагментов контура клавишу Shift (это обеспечит формирование идеальных углов).  

Рис. 15. Заготовка для  рюмки

    Составные сплайновые формы

  Два типа стандартных  сплайновых форм — Donut (Кольцо) и Text (Текст) — принципиально отличаются от всех остальных типов сплайнов тем, что содержат более одного сплайна в форме и потому относятся к составным формам. Кольцо содержит два круговых сплайна. Число простых сплайнов, составляющих текстовый объект, как минимум совпадает с числом входящих в него букв, а может быть и больше, если в тексте присутствуют буквы, состоящие из нескольких сплайнов. Основным преимуществом составного сплайна по сравнению с обычным сплайном является возможность выполнять операции сразу над всеми частями сплайновой формы одновременно, что быстрее и удобнее. Но дело не только в этом — к составным формам приходится прибегать и в других случаях, например при необходимости проведения в отношении сплайнов булевой операции.

Информация о работе Основы работы со сплайнами