
- •Моделирование
- •Области применения методов моделирования
- •Сплайновое моделирование
- •Степень и гладкость
- •Параметризация. Длина кривой.Способы параметризации.
- •Операции над кривыми. Склеивание и разрезание. Detach и Attach.
- •Работа с углами. Вставка точек.
- •Перестройка. Операция Rebuild.
- •Операции для работы с кривыми
- •Кривые на поверхности: Curves on surface. «Оживление»: Make Live
- •Расширение сознания и понимания природы кривых на поверхности
- •Для любителей Безье
- •Артизан. Воплощение в скульпуре
- •Главное ограничение сплайновых поверхностей
- •Конвертирование сплайнов в полигоны и тесселяция
Оглавление
Моделирование 2
Области применения методов моделирования 4
Сплайновое моделирование 5
Степень и гладкость 5
CV Curve Tool 5
ЕР Curve Tool 6
Параметризация. Длина кривой.Способы параметризации. 7
Операции над кривыми. Склеивание и разрезание. Detach и Attach. 10
Работа с углами. Вставка точек. 13
Перестройка. Операция Rebuild. 15
Операции для работы с кривыми 19
Кривые на поверхности: Curves on surface. «Оживление»: Make Live 20
Расширение сознания и понимания природы кривых на поверхности 21
Для любителей Безье 22
Артизан. Воплощение в скульпуре 22
Главное ограничение сплайновых поверхностей 24
Конвертирование сплайнов в полигоны и тесселяция 26
Моделирование
Полигональное моделирование (polygonal modeling) — это самая первая разновидность трехмерного моделирования, когда для определения точек в трехмерном пространстве приходилось вводить вручную с клавиатуры координаты X, Y и Z. Как известно, если три или более точек координат заданы в качестве вершин и соединены ребрами, то они формируют многоугольник (полигон), который может иметь цвет и текстуру. Соединение группы таких полигонов позволяет смоделировать практически любой объект. Недостаток полигонального моделирования состоит в том, что все объекты должны состоять из крошечных плоских поверхностей, а полигоны должны иметь очень малый размер, иначе края объекта будут иметь ограненный вид. Это означает, что если для объекта на сцене предполагается увеличение, его необходимо моделировать с большим количеством полигонов (плотностью) даже, несмотря на то, что большинство из них будут лишними при удалении от объекта.
Сплайновые поверхности имели массу достоинств перед полигонами. Прежде всего они были потрясающе легкие при помощи нескольких контрольных точек, можно было задавать формы, требовавшие сотен и тысяч вершин в полигональном представлении. Сплайны имели идеальные текстурные координаты, в отличие от адского процесса UV-маппинга полигонов. Они позволяли создавать гадкие сопряжения между поверхностями без всякой ручной работы! Их можно было гладко резать (тримировать).
Однако у сплайнов был маленький недостаток по сравнению с полигонами - объект не мог иметь произвольную топологию (или, если попроще, форму). Любая сплайновая поверхность всегда обязана быть сеткой из изопарм. Иначе говоря, сеткой из взаимно пересекающихся «параллельных» кривых. Даже сплайновая сфера представляет собой сетку из меридианов и параллелей, состоящую «прямоугольных ячеек. По-другому можно сказать, что сплайновую поверхность всегда можно развернуть в прямоугольную сетку, или наоборот, свернуть из прямоугольной сетки.
Термин «сплайны» означает параметрические кривые и поверхности, которые бывают разных типов. Этот сложный и гибкий класс называется NURBS (non-uniform rational b-splines).
«Би-сплайны» означает, «базовые сплайны», здесь буква b означает basic. Это специальный тип сплайнов, которые могут быть быстро вычислены как сумма базовых функций. Он был придуман еще в 1946 году, однако методы быстрого рекурсивного вычисления би-сплайнов появились только 1972 году.
Слово «неравномерные» (non-uniform) означает возможность неравномереной параметризации вдоль протяженности поверхности, хотя в основном работа ведется с равномерными (uniform) сплайнами.
«Рациональные» (rational), означает, что контрольные точки могут иметь разные веса и притягивать к себе поверхность по-разному, хотя опять же, по умолчанию работа в MAYA ведется с нерациональными поверхностями и кривым: веса точек у которых одинаковы.
Кривые и патчи Безье - более примитивный подкласс NURBS, в котором возможно редактировать объекты только в конкретных узловых (knot) точках. В MAYA этот, более простой тип сплайнов не используется для моделирования.
Таким образом термины «сплайновые объекты» и «NURBS-объекты» являются синонимами (по крайней мере, в этой книге).
Термин «патчи» применительно к MAYA имеет двоякое значение. Во-первых это просто NURBS-поверхности, как правило с гладко сшитыми краями, лоскутно составляющие модель. Отсюда и термин «патчевое моделирование-. Во-вторых, патчами формально называются компоненты сплайновых поверхностией представляющие собой ячейки в сетке изопарм. Практическое применение патчей- компонентов мне лично неизвестно, разве что для экспорта в спецпрограммы, работающие с такими лоскутами.
Термин «сабдивы» окончательно прижился для обозначения subdivision surfaces, или «поверхностей разбиения» (это, правда, довольно неуклюжий термин; лучше уж было их назвать «поверхности сглаживания»).
Дело в том, что subdivision surfaces обладают такой же степенью гладкости, как и NURBS. Полу-математически говоря, любой сабдив может быть представлен как набор гладко стыкующихся кубических NURBS-патчей. Но при этом он остается одной поверхностью!
Следовательно, subdivision surfaces унаследовали все преимущества сплайнов плюс одно маленькое, скромное обаяние полигонов.
Поэтому моделирование в сабдивах ведется привычными полигональными методами, а результат отображается в виде гладкой поверхности а-ля NURBS. В некоторых забавных трехмерных программах даже используется термин metanurbs для обозначения subdivision surfaces.