Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ALL

.pdf
Скачиваний:
278
Добавлен:
12.02.2018
Размер:
15.74 Mб
Скачать

КАПЛЕВИДНЫЕ ОБЪЕКТЫ

В других методах для генерации каплевидных объектов используются функции плотности, спадающие до 0 в конечном интервале не по экспоненте. Модель меташариков (meta-ball) описывает сложные объекты как комбинацию квадратных функций плотности следующего вида.

В модели мягкого объекта (soft object) используется функция

..

Возможны и другие варианты

Рис. Сложный каплевидный объект, из 4гауссовых горбиков

Рис. Трехмерные гауссовы функции плотности с центром в точке 0, амплитуда b и дисперсия a

СПЛАЙНОВЫЕ ПРЕДСТАВЛЕНИЯ

Математически сплайновую кривую можно описать кусочно-гладкой кубической полиномиальной функцией, первая и вторая производная которой непрерывны на различных участках кривой. В компьютерной графике сплайновой кривой называют любую составную кривую, сформированную полиномиальными участками, удовлетворяющими заданным условиям непрерывности на границах участков.

Сплайновую поверхность можно описать двумя наборами ортогональных сплайновых кривых.

Существует несколько различных типов определений сплайнов. Каждая отдельная спецификация связана с определенным типом полиномов с конкретными предопределенными граничными условиями.

ИНТЕРПОЛЯЦИЯ И АППРОКСИМАЦИЯ СПЛАЙНАМИ

Сплайновая кривая задается как набор координат точек, именуемых

контрольными, которые указывают общую форму кривой.

Затем по ним подбирается кусочно-непрерывная параметрическая

полиномиальная функция:

1.Если полиномиальные участки соединяют все контрольные точки (рис. 1) кривая называется интерполяцией набора контрольных точек.

2.Если полиномиальная кривая строится так, что некоторые или все контрольные точки не лежат на ее пути, кривая называется аппроксимацией набора контрольных точек (рис. 2), используется для построения интерполяций или аппроксимаций сплайновых поверхностей.

• Сплайновая кривая или поверхность определяется, модифицируется и используется действиями с контрольными точками.

Рис 1. Набор из шести контрольных точек, интерполированных кусочно-гладкой непрерывной полиномиальной кривой

Рис. 2 Набор из шести контрольных точек, аппроксимированных кусочнонепрерывными полиномиальными участками

ИНТЕРПОЛЯЦИЯ И АППРОКСИМАЦИЯ СПЛАЙНАМИ

По положению контрольных точек в пространстве задается первоначальная форма. Можно изменить положения некоторых или всех контрольных точек, подбирая структуру формы объекта.

Геометрические преобразования применяются к объектам также через преобразование контрольных точек.

Набор контрольных точек формирует границу области пространства, называемую выпуклой оболочкой.

В 2D - выпуклый многоугольник. В 3D - выпуклый многогранник.

Сплайн ограничивается его выпуклой оболочкой, и форма объекта следует за контрольными точками.

Ломанная линия, соединяющая контрольные точки аппроксимирующей сплайновой кривой, отображается - информация о положении и упорядочении контрольных точек.

Набор связанных сегментов линий называется

контрольным графом кривой. (иначе контрольным многоугольником или характеристическим многоугольником, даже когда он является не многоугольником, а ломанной линией.)

• а) б)

Рис. 3. Формы выпуклых оболочек (пунктирные линии) двух наборов контрольных точек на плоскости xy

• а) б)

Рис. 4. Формы контрольного графа (пунктир) двух наборов контрольных точек на плоскости xy

ПАРАМЕТРИЧЕСКИЕ УСЛОВИЯ НЕПРЕРЫВНОСТИ

Чтобы гарантировать гладкие переходы от одного участка кусочно-гладкого параметрического сплайна к следующему, накладывают различные условия непрерывности в точках соединения.

Если каждый участок сплайновой кривой описывается набором параметрических координатных функций вида

• x = x(u),

y = y(u),

z = z(u),

u1 u u2,

Параметрическая непрерывность (непрерывность по параметру) задается согласованием производных соединяющихся участков кривых по параметрам в их общей границе.

1.Непрерывность нулевого порядка по параметру, C0, означает, что кривые встречаются.

Значения x, y и z, в точке u2 для первого участка кривой, равны соответственно значениям x, y и z, вычисленным в u1 для следующего участка кривой.

2.Непрерывность первого порядка по параметру, C1, означает, что первые производные по параметру (касательные) координатных функций в уравнении двух последовательных участков кривых равны в точках их соединения.

3.Непрерывность второго порядка по параметру, или C2, означает, что первая и вторая производные по параметру двух кривых одинаковы в точке пересечения. Аналогично для более высоких порядков.

а)

б)

в)

Рис. 4. Кусочно-гладкое построение кривой путем соединения двух сегментов с использованием непрерывности разного порядка.

а) непрерывность нулевого порядка, б) непрерывность первого порядка, в) непрерывность второго порядка

УСЛОВИЯ ГЕОМЕТРИЧЕСКОЙ НЕПРЕРЫВНОСТИ

Другой метод соединения двух последовательных участков кривых заключается в наложении условий геометрической непрерывности.

Требуется, чтобы производные по параметрам двух участков были не равны, а просто пропорциональны друг другу на общей границе.

1.Геометрическая непрерывность первого порядка, G0, то же самое, что и непрерывность нулевого порядка по параметру. Два последовательных участка кривой должны иметь одинаковые координаты в граничной точке.

2.Геометрическая непрерывность первого порядка, G1, означает, что первые производные по параметрам пропорциональны в точке пересечения двух последовательных участков.

3.Геометрическая непрерывность второго порядка, G2, означает, что первая и вторая параметрические производные двух участков кривой пропорциональны на их границе. При непрерывности в G2 кривизны обоих участков кривой будут равными в точке соединения.

Кривая, генерируемая с наложенными условиями геометрической непрерывности, подобна кривой, полученной с условием параметрической непрерывности, но имеются определенные отличия в форме кривой. Геометрически непрерывные кривые притягиваются к участку с большей длиной касательного вектора. Условия геометрической и параметрической непрерывности сравниваются на рис.

Рис. 5. По трем контрольным точкам были подобраны кривые.

а) с условием параметрической непрерывности, б) с условием геометрической непрерывности, где касательный вектор кривой C3 в точке P1 имеет большую длину, чем касательный вектор кривой C1 в точке P1

СПЕЦИФИКАЦИЯ СПЛАЙНА

Существует три эквивалентных метода определения конкретного сплайна при данной степени полинома и положениях контрольных точек.

1) можно задать набор граничных условий, налагаемых на сплайн,

2) можно задать матрицу, характеризующую сплайн,

3) можно задать набор стыковочных функций (или базисных функций), определяющих, как заданные условия на кривую используются для расчета точек вдоль кривой.

Для иллюстрации: пусть дано параметрическое представление кубическим полиномом через координату x по траектории участка сплайновой кривой.

• x(u) = a u3

+ b u2

+ c u + d ,

0 u 1.

x

x

x

x

 

1.Для этой кривой в конечных точках можно задать граничные условия x(0) и x(1), а также условия на первые производные по параметрам x[(0) и x‘(1).

Этих четырех граничных условий достаточно, чтобы определить значения коэффициентов ax, bx, cx и dx.

Из граничных условий получим матрицу, характеризующую данную сплайновую кривую. перепишем уравнение как произведение матриц.

где U матрица-строка степеней параметра u, а C матрица-столбец коэффициентов.

2. Можно записать граничные условия в матричной форме и найти матрицу коэффициентов C.

СПЕЦИФИКАЦИЯ СПЛАЙНА

C = Mspline Mgeom,

где Mgeom четырехэлементная матрица-столбец, содержащая значения геометрических условий (граничные условия) на сплайн, а Mspline матрица 4 на 4, преобразующая значения геометрических условий в коэффициенты полинома и характеризующая сплайновую кривую.

Матрица Mgeom содержит координаты контрольных точек и другие геометрические условия, которые должны удовлетворяться.

Таким образом, матричное представление C можно подставить в уравнение.

x(u) = U Mspline Mgeom.

Матрица Mspline, характеризующая сплайновое представление, называется базисной матрицей, она особенно полезна при переходе от одного сплайнового представления к другому.

3.Наконец, уравнение можно расширить, чтобы получить полиномиальное представление

координаты x через параметры геометрических условий gk, таких как координаты контрольных точек и наклон кривой в контрольных точках.

Полиномы BFk(u) при k = 0, 1, 2, 3 называются стыковочными или базисными функциями, они используются для сшивки значений геометрических условий при получении координат точек кривой.

СПЛАЙНОВЫЕ ПОВЕРХНОСТИ

Обычная процедура определения сплайновой поверхности заключается в следующем.

С помощью сетки контрольных точек в некоторой области пространства задается два набора ортогональных сплайновых кривых.

Обозначим положения контрольных точек через p ku,kv , тогда любую точку сплайновой поверхности можно определить как декартово произведение стыковочных функций сплайновых кривых.

Параметры поверхности u и v обычно меняются в диапазоне 0-1, диапазон зависит от типа используемых сплайновых кривых. Существует метод задания трехмерных положений контрольных точек, основан на выборе значений высот над двухмерной сеткой точек на нулевой плоскости.

НАСТРОЙКА СПЛАЙНОВЫХ ПОВЕРХНОСТЕЙ

Разработка поверхности может требовать особенностей, которые нельзя реализовать, настраивая положения контрольных точек. Например, отрезать участок сплайновой поверхности, чтобы совместить два элемента.

В таких ситуациях часто используют функции, позволяющие

генерировать настроечные кривые (trimming curves),

для удаления участков сплайновых поверхностей (рис).

Настроечные кривые определяются в параметрических

координатах поверхности uv, их нужно задавать как замкнутые кривые.

Рис. Модификация участка поверхности с использованием настроечных кривых

МЕТОДЫ ИНТЕРПОЛЯЦИИ КУБИЧЕСКИМИ СПЛАЙНАМИ

Данный класс сплайнов наиболее часто используется для настройки путей движения объектов, получения представления существующего объекта, также для разработки форм объектов.

Кубические полиномы по сравнению с полиномами более высоких порядков требуют меньше расчетов и памяти, более устойчивы. По сравнению с квадратными полиномами и прямыми отрезками – эффективнее при моделировании форм объектов.

Чтобы интерполировать данный набор контрольных точек кубическими сплайнами, по входным точкам подбирается кусочно-кубическая полиномиальная кривая, проходящая через все контрольные точки.

Пусть даны n+1 контрольных точек, заданных координатами

• pk = (xk, yk, zk),

k = 0, 1, 2, … , n.

Кубическая интерполяция - рис. Параметрический кубический полином, связывающий каждую пару контрольных точек, можно описать системой уравнений.

x(u) = ax u3 + bx u2 + cx u + dx,

• y(u) = ay u3 + by u2 + cy u + dy,

(0 u 1),

z(u) = az u3 + bz u 2 + cz u + dz.

Для каждого из трех уравнений нужно определить значения коэффициенты a, b, c и d в полиномиальном предоставлении каждого из n участков кривой между n+1 контрольными точками. Для этого задается достаточное число граничных условий в контрольных точках между участками кривой, на основе которых находятся численные значения коэффициентов.

Рис. Кусочно-непрерывная интерполяция кубическими сплайнами n + 1 контрольных точек

ЕСТЕСТВЕННЫЕ КУБИЧЕСКИЕ СПЛАЙНЫ

Одной из первых сплайновых кривых, разработанных для графических приложений - естественный кубический сплайн. Для определения естественного кубического сплайна, нужно указать, что два соседних участка кривой имеют равные первые и вторые производные по параметру в их общей точке.

Естественные кубические сплайны непрерывны в C2.

Если даны n + 1 контрольных точек, рис. пред.сл., то имеется n участков кривой, и нужно определить 4n коэффициентов полиномов.

В каждой из n - 1 внутренних контрольных точек задается 4 граничных условия: два участка кривой с обеих сторон контрольной точки должны иметь одинаковые первые и вторые производные по параметру в данной контрольной точке, и каждая кривая должна проходить через эту контрольную точку.

В результате имеем 4n-4 уравнений, которые должны удовлетворяться 4n коэффициентами

полиномов. Еще 2 уравнения - первая контрольная точка p0, начало кривой и последняя контрольная точка pn.

Недостает еще двух уравнений. 1 установка вторых производных в точках p0 и pn равными 0.

2 добавить две дополнительные контрольные точки (ложные (dummy points)), в каждом конце

исходной последовательности контрольных точек. В начале кривой - контрольная точка p-1, а в конце – pn+1 . После этого все исходные контрольные точки являются внутренними, и имеются необходимые 4n граничных условий.

Хотя естественные кубические сплайны являются математической моделью чертежного сплайна, они обладают серьезным недостатком.

Естественные кубические сплайны не допускают локального управления - часть кривой нельзя изменить, не задавая нового набора контрольных точек. По этой причине были разработаны другие методы интерполяции кубическими сплайнами.

Соседние файлы в предмете Компьютерная Графика