.MSE - сценарии»
Новые возможности поддержки трансляторов семейства Autodesk® DirectConnect позволяют обмениваться данными промышленного дизайна при использовании ведущих САПР: AutoCAD, Autodesk® Inventor®, Autodesk® Alias®, Dassault Systemes SolidWorks® и CATIA®, PTC Pro/ENGINEER®, Siemens PLM Software NX, JT™ и др.
.3 Определение и история
Сплайн - функция, область определения которой разбита на конечное число отрезков, на каждом из которых сплайн совпадает с некоторым алгебраическим многочленом. Максимальная степень из использованных полиномов называется степенью сплайна. Разность между степенью сплайна и получившейся гладкостью называется дефектом сплайна. Например, непрерывная ломаная есть сплайн степени 1 и дефекта 1. В современном понимании сплайны - это решения многоточечных краевых задач сеточными методами.
Сплайны имеют многочисленные применения как в математической теории, так и в разнообразных вычислительных приложениях. В частности, сплайны двух переменных интенсивно используются для задания поверхностей в различных системах компьютерного моделирования. Сплайны двух аргументов называют би-сплайнами (например, бикубический сплайн), которые являются двумерными сплайнами, моделирующими поверхности. Их часто путают с B-сплайнами (базисными сплайнами), которые являются одномерными и в линейной комбинации составляют кривые - каркас для «натягивания» поверхностей. Также из базисных сплайнов возможно составить трёхмерную конструкцию для моделирования объёмных тел.
Сплайном называли гибкую металлическую линейку - универсальное лекало, которое использовали чертёжники для соединения точек на чертеже плавной кривой, то есть для графического исполнения интерполяции.
<https://commons.wikimedia.org/wiki/File:Krzywiki.jpg?uselang=r>
Рисунок 1 - Лекала
Более того, кривая, описывающая деформацию гибкой линейки, зафиксированной в отдельных точках, является сплайном. Итак, имеется физическая модель сплайн-функции (или, наоборот, сплайн-функция является математической моделью гибкой линейки). Интуитивный подход к использованию кусочных функций в задачах аппроксимации встречался в математике в течение длительного времени. Физической моделью, называемой механической аналогией сплайна, является многоопорная балка, не испытывающая внешней нагрузки, а деформации которой вызваны внутренними реакциями на заданные смещения опор в фиксированные узлы. Математически данная модель описывается дифференциальным уравнением деформации балки и является многоточечной краевой задачей, для решения которой был применён известный в то время сеточный метод, который получил решение именно в таком виде, называемом сегодня сплайном. Но, как отмечает советский учёный Николай Корнейчук, вторжение сплайнов в теорию приближения произошло из-за задачи интерполяции, благодаря их хорошим вычислительным и аппроксимативным свойствам. Сплайны обладают исключительно хорошими аппроксимативными свойствами, универсальностью и обеспечивают простоту реализации вычислительных алгоритмов, полученных на их основе. При этом алгоритмы построения сплайнов совпадают с алгоритмом метода конечных элементов, который является основным промышленным методом прочностного анализа в системах автоматизированного проектирования (САПР).
Теория интерполяции сплайнами и сам термин сплайн ведут свой отсчёт со статьи Айзека Шонберга <https://ru.wikipedia.org/wiki/%D0%A8%D1%91%D0%BD%D0%B1%D0%B5%D1%80%D0%B3,_%D0%98%D1%81%D0%B0%D0%B0%D0%BA> 1946 года. Особенно интенсивное её развитие произошло в 50-70 годы. В настоящее время традиционной прикладной сферой использования интерполяционных сплайнов стали САПР. Однако потенциальные возможности сплайнов значительно шире, чем просто описание некоторых кривых. В реальном мире большое количество физических процессов по самой своей природе являются сплайнами. В механике это деформация гибкой пластины или стержня, зафиксированных в отдельных точках; траектория движения тела, если сила, действующая на него меняется ступенчато (траектория искусственного космического объекта с активными и инерционными отрезками движения, траектория движения самолёта при ступенчатом изменении тяги двигателей и изменении профиля крыла и т. д.). В термодинамике это теплообмен в стержне, составленном из фрагментов с различной теплопередачей. В химии - диффузия через слои различных веществ. В электричестве - распространение электромагнитных полей через разнородные среды. То есть сплайн не выдуманная математическая абстракция, а во многих случаях он является решением дифференциальных уравнений, описывающих вполне реальные физические процессы.
Рассмотрение сплайнов начнём с определения алгебраического сплайна. Функция , определённая и непрерывная на отрезке , называется полиномиальным сплайном порядка с узлами , если на каждом из отрезков , является алгебраическим полиномом степени, не превышающей , а в каждой из точек некоторая производная может иметь разрыв. Если функции в точках непрерывны, а производные в точках терпят разрыв, то числа называют дефектами сплайна. Множество называют сеткой узлов сплайна, а точки - узлами, точками соприкосновения или точками склейки сплайна.
Как следует из определения, для построения сплайна, состоящего из фрагментов, требуется найти такие значения числовых параметров для каждого фрагмента - полинома степени , которые обеспечат непрерывность в узлах как самой функции, так и необходимых производных. Так, всего следует определить параметров. С учётом условия интерполяции и непрерывности первых двух производных определение параметров сводится к решению системы, состоящей из линейных уравнений. Как правило, значения коэффициентов для отрезков полиномов непосредственно не рассчитываются.
Для определения интерполяционного сплайна с непрерывной первой производной достаточно рассчитать значение первой производной в узлах. Способ определения производных в узлах сплайна определяет широкое разнообразие интерполяционных сплайнов. Часто производные определяются не как константы, а как некоторые зависимости от интерполируемой функции и сетки интерполяции.
Если значение первой производной в узлах рассчитывать исходя из условия непрерывности второй производной (решая систему, составленную из n линейных уравнений), то сплайн будет иметь две непрерывные производные. Такой способ построения сплайна, как и сам сплайн называют глобальным, поскольку при определении каждого из его коэффициентов учитывается всё множество узлов интерполяции.
В других случаях, для определения отдельного коэффициента учитываются только ближайшие узлы интерполяции и такие способы построения, как и сами сплайны, называют локальными. Параметры фрагмента такого сплайна можно определить независимо от других фрагментов.
Простым условием построения фрагмента локального сплайна является условие равенства полинома на концах отрезков соответствующим значениям интерполируемой функции.
Для простейшего сплайна - ломаной - этого условия вполне достаточно. Два коэффициента прямой однозначно определяются из двух уравнений. Такой сплайн является локальным. Для полиномов высших степеней следует добавить дополнительные условия таким образом, чтобы общее число уравнений было равно числу коэффициентов полинома. Так, для сплайна 3-й степени таким условием является равенство 1-й производной на концах отрезка некоторому значению, определяемому для соседних участков одинаковым образом (в формулах (2) через приближённое значение производной функции).
Система из 4-х уравнений
позволяет однозначно определить четыре коэффициента полинома. Для полинома 5-й степени следует добавить условие равенства 2-й производной на концах отрезка и т. д. Из сказанного должно быть ясно, почему сплайны строят в основном из полиномов нечётных степеней (с чётным количеством коэффициентов).
Для полиномов чётных степеней при сборке системы (3):
остаётся неопределённой производная в одном из концов отрезка;
и условие равенства производных (гладкости кривой) не будет выполняться, поэтому для полинома 2-й степени невозможно достичь равенства 1-й производной в точках стыка, а для 4-й степени - 2-й производной и т. д. Для построения сплайнов с чётными степенями искусственно добавляют дополнительные условия, чтобы сформировать систему уравнений, подобную (3). Если производные полинома сплайна определяются также, как соответствующие производные интерполируемой функции, сплайн называется является эрмитовым <https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%BB%D0%B0%D0%B9%D0%BD_%D0%AD%D1%80%D0%BC%D0%B8%D1%82%D0%B0>.
Существуют локальные методы построения сплайнов Бесселя и Акими, B - сплайны. В основном, когда речь идет о сплайнах, то имеют в виду сплайны, построенные из алгебраических полиномов. Именно к ним относится приведённое выше определение. Именно эти сплайны являются наиболее изученными. Однако сплайн может состоять из фрагментов функций любого класса. В рассмотрено построение таких сплайнов и исследуются их свойства. Автор не даёт общего определения построенных сплайнов. Очевидно, что для любых классов функций, из которых состоит сплайн, приведённое в начале статьи определение не совсем подходит. Например, если сплайн состоит из отрезков экспоненты, то понятие дефекта сплайна теряет смысл. Хотя количество непрерывных производных останется важной характеристикой. Построение сплайна, фрагментами которого являются разрывные функции (рациональные функции, функции Паде), несколько выходит за рамки сплайновой идеи, поскольку одним из основных преимуществ сплайнов является их гладкость. Если произвольно расширять такие конструкции, то стираются различия сплайнов от кусковых функций. Другим преимуществом сплайнов является эффективность вычислений. Чрезмерное усложнение фрагментов существенно снижает преимущество сплайнов перед классическими функциями.
Для сплайнов характерны следующие признаки: сплайн состоит из фрагментов - функций одного класса, которые отличаются только своими параметрами, на соседние фрагменты в точках стыковки накладываются определенные условия, которые сводятся к непрерывности значений и некоторых первых производных. Сплайны - направление прикладной математики, которое интенсивно развивается. В Интернете содержится обширная библиография по сплайнам.
.4 Классификация сплайнов
Как отмечалось выше, существует большое количество конструкций, которые называют сплайнами. Поэтому необходимо внести определенную классификацию в это многообразие, имея целью выделить те признаки, которые позволят выбрать сплайны годные для конкретной прикладной задачи.
Назначение сплайнов. По назначению можно выделить три основные группы сплайнов: «интерполяционные сплайны» или «функциональные сплайны» - проходящие точно через заданные точки, «сглаживающие сплайны» - проходящие через заданные точки с учетом погрешностей их определения; «корреляционные сплайны» - проходящие через корреляционное множество точек и отображающие его генеральную зависимость (тренд, регрессию). Интерполяционные и функциональные сплайны используют в задачах геометрического моделирования, например, задания обводов корпусов водных и воздушных судов. Сглаживающие сплайны используют чаще всего для описания зависимостей физических экспериментов с известной погрешностью измерений. Корреляционные сплайны используют в качестве нелинейных графиков регрессии, простейшими из которых можно считать описание зависимости ступенчатой и кусочно-линейной функцией (сплайнами нулевой и первой степени).
Вид фрагментов сплайна. То, что сплайн состоит из фрагментов одинакового вида, является одним из ключевых признаков, что отличает его от других кусковых функций. Однако существуют комбинированные сплайны, состоящие из фрагментов различных сплайнов.
Самые известные сплайны - состоящие из фрагментов - алгебраических полиномов не выше заданной степени. Как правило, это кубические полиномы, или полиномы нечётных степеней: первой, третьей (кубический), пятой степени. Более высокие степени применяют редко из-за усложнения расчетов и сложностей, описанных в предыдущем разделе. Основным их преимуществом является простота расчетов и анализа. Недостатком является то, что относительно мало реальных физических процессов соответствуют этой зависимости.
Экспоненциальные сплайны. Если гибкую металлическую линейку, зафиксированную в узлах, натянуть, то решением дифференциального уравнения будет не алгебраический полином, а экспонента. Поэтому такие сплайны называют также напряженными. Экспонента описывает многие физические процессы в динамических системах. Недостатком является трудоёмкость расчета.
По механической аналогии с металлической линейкой, представляющей собой расчетную модель балки, получаются сплайны переменной жесткости, описанные в работах Снигирева В. Ф. и Павленко А. П. Первоначально такие сплайны называли вырождающимися или логарифмическими, так как решение исходного сплайнового дифференциального уравнения, представляющее собой фрагмент сплайна, будет содержать натуральные логарифмические функции. Жесткость в них может выступать как весовая, если она заранее задана, так и как управляющая функция, которая отыскивается из условий минимума функционала энергии оператора исходного сплайнового уравнения, аналогичного полной потенциальной энергии деформации линейки (балки). Функция жесткости позволяет управлять формой сплайна. В случае, когда функция жесткости является управляющей функцией, то такие сплайны называют сплайнами минимальной жесткости.
Тригонометрическими являются сплайны, фрагменты которых описываются тригонометрическими полиномами. Имеют достаточно сложные расчетные выражения. Более пятидесяти различных по виду фрагментов сплайнов описаны в работах Б.А. Попова.
Также существуют рациональные сплайны и сплайны Паде. Их особенностью является возможность разрыва производных на фрагментах, при непрерывности в узлах. М. Ансерме строит фракциональные сплайны, где фрагменты заданы с помощью гамма-функции.
Целесообразность применения фрагментов определенного вида основана на конкретных условиях задачи и ограничениях реализации. Как правило, основное требование - это достижение заданной точности интерполяции при приемлемых затратах времени и ресурсов на реализацию. Удачный выбор фрагментов, который соответствует характеру процесса, позволяет сократить время вычислений и требуемый объём памяти.
Число фрагментов. Очевидно, что минимальное число фрагментов - один. Классическое определение сплайна ограничивает число фрагментов определенным числом на конечном отрезке. Однако можно строить сплайны и с бесконечным числом фрагментов, а реально эти методы и алгоритмы, которые не нуждаются в информации об определенном количестве фрагментов. Представителями этих сплайнов являются кардинальные сплайны, исследованные Шенбергом. Для построения сплайнов с неограниченным числом фрагментов лучше подходят локальные сплайны.
Ширина фрагментов. Следует выделить сплайны с равной шириной фрагментов. Это позволяет значительно упростить расчетные выражения, ускорить работу алгоритмов и снизить затраты на реализацию. Определенного упрощения можно достичь за счёт применения фрагментов с кратной шириной. Существуют сплайны с нулевой шириной фрагментов (Де Бур). Это приводит к кратности узлов и возможности приближать сплайны с неразрывными фрагментами разрывных функций. Расчетные выражения получают в результате предельных переходов. Сплайны могут иметь также фрагменты с бесконечной шириной. Эти фрагменты должны быть крайними. Иногда это позволяет естественно задать краевые условия. Строго говоря, ширина фрагментов зависит от выбора параметра - аргумента сплайн-функции, а для этого требуется решать отдельную задачу параметризации. Идеальным выбором в качестве параметра является длина интерполируемой функции, которая не всегда известна, поэтому существует множество способов решения этой задачи. Наиболее распространен способ параметризации по хордам.
Условия стыковки фрагментов. Еще один важный признак, что отличает сплайны. Когда идет речь о сплайнах, как правило, считают, что фрагменты стыкуются гладко. То есть обеспечивается непрерывность значений и первой производной. Понятие дефекта сплайна связано с числом непрерывных производных, которые имеет функция-фрагмент определенного вида и числом производных, непрерывность которых гарантирована в узлах. Экспонента, синусоида имеют бесконечное число производных. Для них это понятие не имеет смысла. Поэтому удобнее говорить прямо о числе производных, непрерывность которых гарантирована в узлах сплайна. Практически речь идет о непрерывности значений и первой, максимум второй производной. Разрыв второй и высших производных визуально не заметно, поэтому учитывается редко. Понятно, что первая производная в точках стыка может задаваться по-разному. Наиболее распространены два приёма. Значение первой производной выбирается так, чтобы обеспечить непрерывность второй (глобальные кубические сплайны минимального дефекта). Первая производная равняется первой производной интерполируемой функции (возможно приближенно) в эрмитовых сплайнах.
Краевые условия. Имеется 4 типа классических краевых условий и ряд неклассических. Если сплайны имеют ограниченное число фрагментов, то, естественно, у них отсутствуют крайние фрагменты слева и справа, поэтому крайние узлы не с чем стыковать. Исключением являются лишь периодические сплайны, которые имеют естественное продолжение (3-й тип классических краевых условий). Иногда естественными называют краевые условия с нулевой производной, хотя никаких оснований считать их более естественными, чем другие, нет, но для кубического сплайна естественные (натуральные) краевые условия являются частным случаем 2-го типа классических краевых условий, задающего вторые производные на краях сплайна. В этом случае приравнивание вторых производных к нулю высвобождает края металлической линейки от нагружения изгибающим моментом, что естественным образом и происходило бы при прикладывании ее к фиксированным (заданным) узлам в физическом пространстве. В 1-м типе классических краевых условий задают первые производные (касательные) на краях сплайна; во 2-м типе - задают вторые производные(кривизну); 3-й тип используется для интерполяции замкнутых или периодических линий и заключается в стыковке крайних фрагментов сплайна; 4-й тип используется когда на краях сплайна неизвестны ни первая, ни вторая производные и заключается в стыковке соседних пар крайних фрагментов (1-го со 2-м и последнего с предпоследним) по третьим производным, что на практике реализуется в проведении по узлам пар соседних крайних фрагментов функции, аналогичной одному фрагменту сплайна (у полиномиального сплайна - полинома той же степени, что и фрагмент сплайна). Используются различные комбинации краевых условий, которые сводятся к данным 4-м типам классических условий. В случае, если краевые условия нельзя свести к этим четырем типам, как, например, изменение на паре соседних крайних фрагментах сплайна его третьей производной по линейному (афинному) закону, предложенное в работах Снигирева В.Ф., то такие условия называют неклассическим вариантом краевых условий. Далее приведены некоторые варианты, сводящиеся к классическим краевым условиям. Если сплайн имеет фрагменты одинаковой ширины, считают недостающие фрагменты той же ширины. Другой вариант - это считать недостающие фрагменты продлёнными в бесконечность. Преимущество такого подхода в возможности экстраполяции. Можно считать ширину фрагментов нулевой. Расчетные выражения получают предельными переходами. Если взглянуть на краевые условия с точки зрения формирования сплайна из базисных функций, то они сводятся к продолжению соответствующих локальных базисных функций. Ширина соседних фрагментов влияет на их форму. А простое обрезание часто приводит к осцилляции и росту погрешности на краях. Важное значение краевые условия имеют при обработке изображений и в задачах с экстраполяцией.
Дополнительные ограничения. Они чаще всего касаются производных в узлах. Иногда они вытекают из физики процесса. Условия: неотъемлемость значений, равенство моментов, площадей, условия нормирования. Дополнительные условия иногда упрощают анализ свойств сплайнов, но могут серьезно затруднять построение и затраты реализации.
Сетка точек интерполяции. Может существенно влиять на эффективность расчетов. Важны случаи равномерной сетки и равномерной сетки, с расстоянием между точками, кратным расстоянию между узлами сплайна. Нахождение сетки точек интерполяции (интерполяционных узлов) является задачей параметризации, о которой уже сказано в разделе «Ширина фрагментов».
Локальные свойства базисных функций. Сплайн можно представить как сумму взвешенных базисных сплайнов. Существенным является ширина этих базисных функций. Так, в глобальных сплайнах базисные сплайны ненулевые на всём отрезке интерполяции. Хотя стоит заметить, что с определенной точностью (достаточной для многих технических расчетов) их можно считать локальными. У локальных сплайнов ширина базисных функций невелика (четыре фрагмента у кубических эрмитовых сплайнов). Это существенно влияет на эффективность расчетов и затраты реализации.
Форма представления. Функции, задающие фрагменты сплайна, как правило, зависят от множества параметров, благодаря которым они меняют свою форму. Значения параметров на каждом из фрагментов индивидуальны. Эти параметры могут задавать конкретный сплайн. Для полиномиальных сплайнов это полиномиальные коэффициенты. Так, сплайн можно представить множеством параметров функций на каждом из фрагментов. Назовем это представление пофрагментным. Такое представление является наглядным, часто имеет явный физический смысл. Но число параметров является чрезмерным. Так, для кубического сплайна необходимо иметь 4 * (r-1) параметров (r - число узлов сплайна). Данное представление получается в результате неопределенного интегрирования фрагмента исходного сплайнового дифференциального уравнения и называется аналогичной кусочно-полиномиальной формой (pp-формой) по аналогии с полиномиальными сплайнами. Для явного выражения коэффициентов через уже известные значения координат узловых точек, применяют разложение аналогичной кусочно-полиномиальной формы на базисные функции путем подстановки ее в краевые условия Эрмита (граничные условия фрагмента сплайна, условия интерполирования и опирания на производные). В результате получается базисная форма (B-форма) сплайна. Такое представление сплайна является значительно более компактным и записывается через базисные сплайн-функции в виде:
,
где - базисные сплайн-функции (как правило локальные), - числовые коэффициенты, задающие вес базисных функций при формировании сплайна, физическим смыслом которых являются обобщенные (линейные и угловые) перемещения металлической линейки в узлах. Число параметров, задающих сплайн, равно числу узлов сплайна. Между параметрами функции на фрагменте и коэффициентами полинома-сплайна существует зависимость, что позволяет с одними коэффициентами находить другие, хотя формулы могут иметь достаточно сложный вид.
Преобразование аналогичной кусочно-полиномиальной формы представления сплайна в базисную форму снижает порядок системы линейных алгебраических уравнений для нахождения неизвестных коэффициентов сплайна, так как они частично выражаются через уже известные параметры - координаты заданных точек (узлов), что позволяет значительно снизить вычислительные затраты за счет возможности применить экономичные методы решения, такие как метод алгебраической прогонки или разновидности метода Гаусса для разрежённых (ленточных) матриц с выбором ведущего элемента столбца.
Содержание коэффициентов сплайна. Как отмечалось в предыдущем пункте, содержание параметров сплайна при пофрагментном представлении определяется типом функции. При полиномиальном представлении следует выделить случай, когда коэффициенты имеют тот же физический смысл, что и входные данные. То есть, коэффициенты являются значениями сплайна в узлах. Такую форму называют Лагранжевой, по аналогии с полиномом Лагранжа. Следует заметить, что базисные сплайны этой формы равны единице в центральном узле и нулю во всех остальных.
Коэффициенты интерполяционных и функциональных сплайнов всегда содержат значения координат заданных точек, вытекающие из условий интерполирования. А так же в зависимости от условий опирания на производные, содержат значения соответствующих производных на границах фрагмента сплайна (в узловых точках). Как правило, при записи таких условий фрагмент сплайна на его границах опирают на первые или вторые производные. Опирание фрагмента сплайна на первые производные явно отражает физический смысл, так как первые производные (касательные) - это угловые перемещения (повороты) металлической линейки относительно поперечной оси. Опирание сплайна на вторые производные применяют для упрощения вида расчетных выражений с целью уменьшения ошибок при их ручной перезаписи, однако в некоторых случаях использование таких выражений в каких-либо дополнительных условиях может приводить к тривиальным решениям.
Особые сплайны. В ряде случаев рассматривают функции, которые находятся близко к границе между сплайнами и обычными функциями, а также сплайнами и кусковыми функциями. К примеру, это сплайны, состоящие из двух фрагментов. Имеют упрощенный вариант построения, но особое внимание следует уделять краевым условиям.
К особым сплайнам можно отнести многомерный ортогональный нормированный сплайн, описывающий нелинейную модель искусственного нейрона (сплайн-модель Хакимова), используемый для моделирования зависимости функции от совокупности множества аргументов.
2. Практическая часть
.1 Сплайновые примитивы
Один из эффективных способов создания трехмерных моделей - использование техники сплайнового моделирования. В конечном итоге создание модели при помощи сплайнов (трехмерных кривых) сводится к построению сплайнового каркаса, на основе которого создается огибающая трехмерная геометрическая поверхность.
Сплайны - это двумерные примитивы (например, линия, окружность, текст), имеющие, как и трехмерные, различные параметры задания.
Сплайновые примитивы представляют собой такой же рабочий материал, как и простейшие трехмерные объекты, создаваемые в 3ds Max 2008. Сплайновый инструментарий программы включает в себя следующие фигуры:
Line (Линия);
Circle (Окружность);
Arc (Дуга);
NGon (Многоугольник);
Text (Сплайновый текст);
Section (Сечение);
Rectangle (Прямоугольник);
Ellipse (Эллипс);
Donut (Кольцо);
Star (Многоугольник в виде звезды);
Helix (Спираль).
Доступны также дополнительные сплайновые объекты, которые отличаются сложной формой и гибкими настройками. Благодаря этому, изменяя значения параметров, можно получать объекты самой разнообразной формы. Объекты такой формы часто используются в архитектуре.
Рисунок 2 - Сплайновые формы
WRectangle (Прямоугольник за стеной) - позволяет создавать закрытые сплайны, состоящие из двух концентрических прямоугольников.
Channel (С-образный) - позволяет создавать закрытые сплайны в форме буквы С, напоминающие канавки.
Angle (L-образный) - позволяет создавать закрытые сплайны в форме буквы L, напоминающие уголки.
Tee (Т-образный) - позволяет создавать закрытые сплайны в форме буквы Т.
Wide Flange (I-образный) - позволяет создавать закрытые сплайны в форме буквы I.
Все сплайновые примитивы имеют схожие настройки. Например, каждый описанный объект содержит два обязательных свитка настроек: Rendering (Визуализация) и Interpolation (Интерполяция).
По умолчанию сплайновые примитивы не отображаются на этапе визуализации и используются как вспомогательные объекты для создания моделей со сложной геометрией. Однако любой сплайновый примитив может выступать в сцене как самостоятельный объект. За отображение объекта в окне проекции и на этапе визуализации отвечает свиток настроек Rendering (Визуализация). Если установить флажок Enable In Renderer (Показать при визуализации), объект на этапе визуализации становится видимым. Установленный флажок Enable In Viewport (Показывать в окне проекции) позволяет визуализировать сплайновый примитив в окне проекции с учетом формы сплайна, которую можно выбрать округлой или прямоугольной, установив переключатель в положение Radial (Округлый) или Rectangular (Прямоугольный).
При выборе округлого сечения сплайна (Radial (Округлый)) толщина регулируется параметром Thickness (Толщина). Сплайн характеризуется также количеством сторон (параметр Sides (Количество сторон)) и углом их расположения (Angle (Угол)). Минимальное количество сторон сплайна - 3 (такой сплайн имеет треугольное сечение).
В другом случае - при выборе прямоугольного сечения Rectangular (Прямоугольный) - устанавливаются значения Length (Длина) и Width (Ширина), определяющие толщину сплайна. Параметр Aspect (Соотношение) обозначает соотношение длины и ширины прямоугольного профиля сплайна. Если нажать кнопку с изображением замка, расположенную рядом с этим параметром, то при изменении длины или ширины профиля автоматически будет изменяться и другой параметр так, чтобы их соотношение оставалось неизменным. При выборе прямоугольного сечения, как и при выборе округлого, есть возможность управлять параметром Angle (Угол).
Свиток настроек Interpolation (Интерполяция) определяет количество шагов интерполяции сплайна (количество сегментов между вершинами объекта). Установленный флажок Optimize (Оптимизация) служит для оптимизации сплайна. Для сплайнов группы Extended Splines (Сложные сплайны) доступны также дополнительные параметры, позволяющие определять форму их внешних и внутренних углов (Corner Radius 1 (Радиус углов 1) и Corner Radius 2 (Радиус углов 2)).
На основе сплайновых фигур можно создавать сложные геометрические трехмерные объекты. Для этого используются модификаторы Surface (Поверхность), Lathe (Вращение вокруг оси), Sweep (Выгнутость), Extrude (Выдавливание) и BeveL (Выдавливание со скосом), а также составной объект Loft (Лофтинг).
Модификатор - это программная функция изменения формы и внешнего вида трехмерного объекта.
Если присмотреться к объектам, которые нас окружают, то можно заметить, что многие из них обладают осевой симметрией. Например, плафон люстры, тарелки, бокалы, кувшины, колонны и т.д. Все эти объекты в трехмерной графике создаются как поверхности вращения сплайнового профиля вокруг некоторой оси при помощи модификатора Lathe (Вращение вокруг оси). Этот модификатор назначается созданному сплайну, после чего в окне проекции появляется трехмерная поверхность, образованная вращением сплайна вокруг некоторой оси. Сплайновая кривая при этом может быть разомкнутой или замкнутой.
Настройки модификатора Lathe (Вращение вокруг оси) позволяют установить тип поверхности, получившейся в результате вращения сплайнового профиля. Это может быть Patch (Патч-поверхность), Mesh (Поверхность) или NURBS (NURBS-поверхность). Кроме этого, при создании объекта можно устанавливать угол вращения профиля в диапазоне от 0 до 360°.
Для построения трехмерной модели методом лофтинга необходимо создать два сплайна. Одна трехмерная кривая определяет сечение модели, а вторая - траекторию, вдоль которой это сечение будет располагаться.
Модификатор Sweep (Выгнутость) - еще один инструмент для превращения сплайна в трехмерный объект. Настройки любой трехмерной кривой, которая создается в 3ds Max, дают возможность визуализировать ее с круглым или квадратным сечением. Модификатор Sweep (Выгнутость) позволяет визуализировать сплайн со значительно большим количеством профилей. Среди них профили в форме уголка (Angle (Угол)), канавки (Channel (Канавка)), полукруга (Half Round (Полукруг)), полой круглой трубки (Pipe (Труба)), полой квадратной трубки (Tube (Трубка)) и др. Профиль можно выбирать из списка Built In Section (Встроенные профили) свитка Section Type (Тип профиля) настроек модификатора.
Возможности модификатора не ограничиваются применением профилей-заготовок. В качестве профиля можно использовать сплайновый профиль, созданный вручную. Для этого необходимо установить переключатель в положение Use Custom Section (Использовать пользовательский профиль), нажать кнопку Pick (Выбрать) и указать сплайн в окне проекции.
Геометрическими размерами профиля, а также углами можно управлять, используя настройки свитка Sweep Parameters (Параметры выгнутости).
Модификатор Sweep (Выгнутость) очень удобно использовать для архитектурного моделирования. Например, с его помощью можно быстро добавить плинтус, карнизы, оконные рамы и прочие элементы интерьера в трехмерную комнату.
Метод создания трехмерных объектов с помощью этого модификатора напоминает способ лофтинга.
При создании трехмерных моделей часто используются стандартные модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом), которые схожи по своему действию и применяются к любой сплайновой форме. Результатом действия этих модификаторов на сплайн является поверхность, созданная сечением выбранной сплайновой формы.
Разница между этими модификаторами заключается в том, что при использовании Bevel (Выдавливание со скосом) можно дополнительно управлять величиной скоса выдавливаемых граней. Кроме того, модификатор Bevel (Выдавливание со скосом) позволяет применять трехуровневое выдавливание, с помощью которого можно придавать красивую форму краям фигуры.
Особенно удобно использовать модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом) при разработке логотипов и работе с объемным текстом.
Если в окне проекции создать сплайновую форму Text (Текст), а затем применить к ней один из модификаторов выдавливания, то получится объемная надпись. С ней можно работать, как и с любым другим трехмерным объектом.
Главной настройкой модификаторов Extrude (Выдавливание) и Bevel (Выдавливание со скосом) является амплитуда выдавливания. Для модификатора Bevel (Выдавливание со скосом) - это параметр Height (Высота), а для Extrude (Выдавливание) - Amount (Величина). Величину скоса задает параметр Outline (Масштаб).
Еще один модификатор, применяющийся для выдавливания, - Bevel Profile (Выдавливание со скосом по заданному профилю).
Он действует на сплайн аналогично Bevel (Выдавливание со скосом), с той лишь разницей, что в настройках Bevel Profile (Выдавливание со скосом по заданному профилю) необходимо указывать трехмерную кривую, вдоль которой будет выдавливаться сплайн.
Модификатор Extrude (Выдавливание) имеет несколько меньшие возможности по сравнению с Bevel Profile (Выдавливание со скосом по заданному профилю), однако разработчики трехмерной графики очень часто используют Extrude (Выдавливание). В частности, с его помощью удобно создавать геометрию помещений, моделируя сложные коридоры.
2.2 Моделирование бокала при помощи модификатора Lathe
С помощью сплайна Line на виде Front или Left необходимо нарисовать контур будущего бокала. Но следует рисовать только его половинку (рис. 3).
Рисунок 3 - Контур бокала
Сначала может получиться не очень красиво, но можно изменить сплайн с помощью контрольных точек. Для этого необходимо перейти во вкладку Modify и выбрать метод выделения Vertex (рисунок 4).
Далее выбрать точку и редактировать сплайн, перемещая саму точку или изменяя радиус и угол воздействия точки. Точки бывают трех видах: без сглаживания Corner, со сглаживанием Bezier и комбинированные Bezier Corner. Изменить вид точки можно, нажав правой кнопкой мыши при выделенной точке (рисунок 5).
Также можно добавлять точки. Для этого следует нажать кнопку Refine, а затем на сплайне в том месте, где нужна точка (рисунок 6).
Далее сделать форму с помощью вращения сплайна. Для этого выделить сплайн, и в раскрывающемся меню Modifier list выбрать модификатор Lathe (рисунок 7).
Рисунок 4 - Изменение сплайна с помощью контрольных точек
Рисунок 5 - Выбор сглаживания
Рисунок 6 - Добавление точки на сплайн Line
Рисунок 7 - Modifier List
Затем надо сместить центр оси вращения сплайна. В раскрывающемся меню Lathe выбрать Axis, после этого переместить центр к желаемому состоянию (рисунок 8).
Рисунок 8 - Раскрытый список модификатор Lathe
При необходимости всегда возможно вернуться к сплайну и изменить его (рисунок 9).
Рисунок 9 - Раскрытый список сплайна Line
Для большой гладкости надо добавить больше полигонов (сегментов), тогда края станут более мягкими и не будут заметны углы (рисунок 10).
Рисунок 10 - Изменение свойства Segments
В результате получится правильной формы бокал. Поэкспериментировав с материалом (Material Editor) можно добиться качественного и более реалистичного вида бокала, как показано на рис. 11.
Рисунок 11 - Готовый бокал в проекции Perspective и рендеринг объекта
Заключение
Используя возможности 3D MAX, можно предоставить наглядный материал для изучения темы: «Сплайновое моделирование». Из представленной практической части видно, что при затрате минимального времени, можно получить нужные изображения. Ведь раньше, для того чтобы предоставить обучающимся наглядные данные, преподавателю пришлось бы затратить максимум сил, точности и времени. Данная программа позволяет использовать новейшие информационные технологии.
Рассмотрев работы Верстак В.А. "3ds Max 8. Секреты мастерства", Бондаренко С.В., Бондаренко М.Ю. "3ds Max 8. Библиотека пользователя", Рябцева Д.В. "Дизайн помещений и интерьеров в 3ds Max 7" можно сказать, что сплайны часто используются в архитектуре, употребляются для создания моделей с осевой симметрией.
Например, плафон люстры, тарелки, бокалы, кувшины, колонны. Моделирование при помощи сплайнов включает в себя следующие фигуры:
·Line (Линия),
·Circle (Окружность),
·Arc (Дуга),
·NGon (Многоугольник),
·Text (Сплайновый текст),
·Section (Сечение),
·Rectangle (Прямоугольник),
·Ellipse (Эллипс),
·Donut (Кольцо),
·Star (Многоугольник в виде звезды),
·Helix (Спираль).
трехмерный графика сплайн модификатор
Список использованных ресурсов
1)Роджерс Д., Адамс Дж. Математические основы машинной графики. - М.: Мир, 2001. - 01.06.2015;
2)Шикин Е.В., Плис Л.И. Кривые и поверхности на экране компьютера. Руководство по сплайнам для пользователей. - М.: ДИАЛОГ-МИФИ, 1996. - 240 с. - 01.06.2015;
)Верстак В.А. 3ds Max 8. Секреты мастерства. - СПб.: Питер, 2006 . - 681 с. - 01.06.2015;
)Бондаренко С.В., Бондаренко М.Ю. 3ds Max 8. Библиотека пользователя. СПб.: Питер, 2006 . - 608 с. - 01.06.2015;
)Рябцева Д.В. Дизайн помещений и интерьеров в 3ds Max 7. - СПб.: Питер, 2006. - 30 с. - 01.06.2015.