Использование технологии создания тел вращения на основе сплайнов.
Цель работы: Изучение основных приемов вращения сплайнов для создания объемных тел.Типы вершин сплайнов
Сплайны состоят из сегментов и вершин, представляющих собой подобъекты кривых этого типа. Сегмент (segment) - это участок линии сплайна между двумя соседними вершинами. Криволинейные сегменты представляются набором прямолинейных отрезков (часто незаметных для глаза), число которых задается при создании сплайна. Вершины (vertex) сплайна различаются по типу и определяют степень кривизны сегментов сплайна, прилегающих к этим вершинам.Первая вершина, обозначающая начало сплайна, в момент создания помечается квадратиком белого цвета. В 3D Studio Max поддерживаются четыре типа вершин сплайнов, как показано на рисунке 1 на примере сплайна-линии:
- Corner (С изломом) – вершина, в которой сплайн претерпевает излом. Участки сегментов вблизи такой вершины не имеют кривизны.
- Smooth (Сглаженная) – вершина, через которую кривая сплайна проводится с плавным изгибом, без излома, имея одинаковую кривизну сегментов при входе в вершину и выходе из нее.
- Bezier (Безье) – вершина, подобная сглаженной, но позволяющая управлять кривизной сегментов сплайна при входе в вершину и при выходе из нее. Для этого вершина снабжается касательными векторами с маркерами в виде квадратиков зеленого цвета на концах. У вершин типа Bezier (Безье) касательные векторы всегда лежат на одной прямой, а удаление маркеров от вершины, которой принадлежат векторы, можно изменять. Перемещение одного из маркеров вершины Безье всегда вызывает центрально-симметричное перемещение второго. Перемещая маркеры касательных векторов вокруг вершины, можно изменять направление, под которым сегменты сплайна входят в вершину и выходят из нее.
- Bezier Corner (Безье с изломом) – вершина, которая, как и вершина типа Bezier (Безье), снабжена касательными векторами. Однако у вершин Bezier Corner (Безье с изломом) касательные векторы не связаны друг с другом, и маркеры можно перемещать независимо.
Вычерчивание сплайнов типа Line
Команда Line вызывается кнопкой Line командной панели Create и позволяет создавать линии практически любой требуемой формы. При выполнении команды мышью фиксируются места расположения вершин и настраивается их кривизна. Полученный сплайн можно замкнуть. В разделе Interpolation свитка General устанавливается режим оптимизации числа шагов, на которые разбиваются сегменты между вершинами.Чтобы нарисовать линию с помощью мыши, выполните следующие действия:
Шаг 1. Щелкните в свитке Object Type (Тип объекта) на кнопке Line (Линия).
Шаг 2. Переместите курсор в любое из окон проекций и щелкните в той точке окна, где должна располагаться первая вершина линии. Линия всегда создается в координатной плоскости текущего окна проекции. Переместите курсор в точку расположения второй вершины.
Шаг 3. Создать очередную вершину можно простым щелчком кнопкой мыши. В этом случае вершина приобретет тип, определяемый положением переключателя Initial Type (Начальный тип) в свитке Creation Method (Метод создания).
По умолчанию это вершина типа Corner (С изломом). Если при создании очередной вершины щелкнуть кнопкой мыши и, удерживая ее, перетащить курсор, будет создана вершина, тип которой определяется положением переключателя Drag Туре (Вершина при перетаскивании). По умолчанию это вершина Bezier (Безье).
Шаг 4. Продолжайте создавать вершины и перемещать курсор. Чтобы удалять неверно установленные вершины, нажимайте на клавишу Backspace. Повторные нажатия этой клавиши будут приводить к удалению вершин в порядке, обратном порядку их создания, – от конца к началу линии.
Шаг 5. Для завершения процесса создания разомкнутой линии щелкните правой кнопкой мыши. Чтобы создать замкнутый сплайн, щелкните вблизи от первой вершины. Когда появится запрос Close spline? (Замкнуть сплайн?), щелкните на кнопке Yes (Да) или No (Нет).
Шаг 6. Чтобы изменить принятые по умолчанию типы вершин, создаваемых простым щелчком кнопкой мыши и щелчком с перетаскиванием курсора, измените установку переключателей в свитке Creation Method (Метод создания), показанном на рисунке 2.
Рисунок 2. Свиток Creation Method (Метод создания) сплайна-линии позволяет настраивать типы вершин сплайна.
Переключатель Initial Type (Начальный тип), определяющий вершина какого типа будет создаваться при щелчке кнопкой мыши, можно устанавливать в одно из двух положений: Corner (С изломом) или Smooth (Сглаженная). Чтобы задать, какой тип вершины будет создаваться при перетаскивании курсора после щелчка, установите переключатель Drag Type (Вершина при перетаскивании) в одно из трех положений: Corner (С изломом). Smooth (Сглаженная) или Bezier (Безье).
Редактирование формы сплайнов
Для редактирования формы сплайнов выполняйте следующие действия:Шаг 1. Выделите сплайн и перейдите на командную панель Modify (Изменить). Если сплайн представляет собой линию, то кнопка Sub-Object (Подобъект) в свитке Modifier Stack (Стек модификаторов) будет доступна сразу.
Если же сплайн представляет собой один из стандартных геометрических объектов, таких как Circle (Круг), Rectangle (Прямоугольник) или Ellips (Эллипс), либо является объектом Text (Текст), то для обеспечения возможности выбрать для редактирования уровень подобъектов-вершин необходимо щелкнуть на кнопке Edit Spline (Правка сплайна) в свитке Modifiers (Модификаторы).
Шаг 2. Щелкните на кнопке Sub-Object (Подобъект) и выберите в раскрывающемся списке Selection Level (Уровень выделения) вариант Vertex (Вершина). В выделенном сплайне все вершины обозначатся крестиками, а первая вершина – квадратиком. В ряде случаев вершину или группу вершин для редактирования следует сначала выделить, используя для этого любые известные методы выделения объектов. Метки выделенных вершин окрашиваются в красный цвет.
Шаг 3. Для перемещения одной или нескольких вершин выделите их и перемещайте как любой другой объект сцены – с помощью инструмента Select and Move (Выделить и переместить). Форма примыкающих к вершинам сегментов сплайна будет при этом меняться автоматически.
Шаг 4. Для изменения типов вершин выделите одну или несколько вершин, укажите курсором на любую из них и щелкните правой кнопкой мыши. Появится контекстное меню вершины. В нижней части меню имеется перечень четырех типов вершин. Выберите команду нужного типа и щелкните кнопкой мыши.
Шаг 5. Для настройки формы сегментов, примыкающих к вершинам типа Bezier (Безье) или Bezier Corner (Безье с изломом), выделите одну из таких вершин. В окнах проекций появятся изображения касательных векторов, снабженных на концах маркерами в виде квадратиков зеленого цвета, как показано на рисунке 3.
Шаг 6. Для изменения угла, под которым сегмент сплайна входит в вершину, выберите инструмент Select and Move (Выделить и переместить), щелкните на маркере и перемещайте его вокруг вершины (рис. 3), наблюдая за изменением ориентации сегмента, которому соответствует перемещаемый маркер для вершин типа Bezier Corner (Безье с изломом) или обоих примыкающих к вершине сегментов – для вершин типа Bezier (Безье).
Рисунок 3. Перемещение маркера касательного вектора вокруг вершины.
Для изменения кривизны сегмента перемещайте маркер к вершине или от нее. Приближение маркера к вершине увеличивает кривизну сегмента для вершин типа Bezier Corner (Безье с изломом) или обоих сегментов для вершин типа Bezier (Безье), а удаление – уменьшает кривизну сегмента (сегментов) в районе вершины (рис. 4).
Рисунок 4. Удаление или приближение маркера к вершине.
Шаг 7. При необходимости можно обеспечить синхронное перемещение маркеров касательных векторов сразу нескольких выделенных вершин: это иногда помогает избежать непредвиденного искажения формы сплайна. Для этого следует установить флажок Lock Handles (Блокировать маркеры) в свитке Selection (Выделение), показанном на рисунке 5. Если при этом установлен переключатель Alike (Подобные), то перемещение одного из маркеров будет заставлять перемещаться маркеры подобных касательных векторов (только входящих в вершины или только исходящих из вершин). Если установлен переключатель All (Все), то перемещение любого из маркеров заставляет синхронно перемещаться и все остальные.
Рисунок 5. Блокировкой перемещения маркеров управляет флажок Lock Handles.
На рисунке 6 показано для примера, как при установке переключателя Alike (Подобные) перемещение маркера касательного вектора, исходящего из четвертой сверху вершины, заставляет синхронно с ним перемещаться маркер вектора, исходящего из второй сверху вершины.
РИСУНОК 6
Синхронно перемещаются только маркеры подобных (в данном случае, исходящих) касательных векторов выделенных вершин. При этом маркер касательного вектора, входящего во вторую сверху вершину, остается неподвижным, так как это вершина типа Bezier Corner (Безье с изломом).
На рисунке 7 демонстрируется результат синхронного перемещения всех маркеров выделенных вершин при установке переключателя Аll (Все).
РИСУНОК 7. Синхронно перемещаются все маркеры касательных векторов выделенных вершин
Вращение сплайнов
Форма-сплайн, к которой применяется метод вращения, поворачивается вокруг заданной оси, проходящей через одну из точек этой формы. При вращении сплайна поверхность вращения преобразуется в оболочку трехмерного объекта. Метод подходит для создания объектов, имеющих центральную симметрию.Вращение сплайна осуществляется за счет применения к нему модификатора Lathe (Вращение).
Применение модификатора Lathe сводится к выбору исходной формы и настройке ряда параметров. В свитке Parameters можно задавать величину угла вращения (определяется счетчиком Degrees), на который будет повернуто сечение, число сегментов (для управления гладкостью боковой поверхности).
Установка оси вращения в глобальной системе координат (параметр Direction, по умолчанию это ось У), выбирается кнопками X, Y, Z группы Direction (Направление) (рис.8).
Рисунок 8. Результат применения Lathe для вращения сплайна по разным осям.
Группа Align (Ориентация) управляет положением оси вращения, устанавливая ее в положения Min (Минимум), Center (Центр) и max (Максимум) (рис. 9).
Рисунок 9. Установка положения оси вращения.
По умолчанию ось вращения проходит через центр габаритного контейнера сплайна (параметр Center), но ее можно переместить на левый край сплайна (точка минимума - параметр Min) или на правый край (точка максимума - параметр Мах). Флажок Weld Core (Объединить главные вершины) объединяет вершины на оси вращения, а Flip Normals (Вывернуть нормали) изменяет направление нормалей на противоположное.
Простейшее редактирование формы тела вращения Кривая, показанная на рисунке 10, рассчитана на создание методом вращения тела наподобие плафона керосиновой лампы. Чтобы получить нужное тело, ось вращения следует поместить левее левого края габаритного контейнера формы-профиля. Для этого следует выполнить следующее:
Шаг 1. Выделите тело вращения и щелкните на кнопке Sub-Object (Подобъект) в свитке Modifier Stack (Стек модификаторов) командной панели Modify (Изменить). По умолчанию в списке Selection Level (Уровень выделения) будет выбран вариант Axis (Ось). Ось вращения изобразится в окнах проекций в виде линии желтого цвета.
Шаг 2. Выберите инструмент Select and Move (Выделить и переместить), щелкните на оси и перетащите ее влево, наблюдая за изменением формы тела вращения, как показано на рисунке 10.
Рисунок 10. Слева – исходный вид тела вращения, справа – оно же после перемещения оси вращения.