§2. Построение интерполяционных сплайнов.
2.1. Общая постановка задачи. Решение методом неопределённых коэффициентов
Рассмотрим решение одномерной задачи. Обозначим ве-личины параметра t в узловых точках P0, P1,...,Рn через t0, t1, ... ,tn. При этом t0 <t1< ...<tn. На каждом i-ом сегменте интерполирования [ti-1, ti ] (i=1,...,n) искомый кусочно-полиномиальный сплайн задается отдельным многочленом Si(t) таким образом, чтобы:
77
в узловых точках ti-1, ti многочлен Si(t) совпадал со зна-чениями yi-1, yi;
в тех точках ti-1, ti, которые являются внутренними, у многочлена S i (t) совпадали производные от 1-го до m-го
порядков с аналогичными производными соседних много-членов.
В математической форме выражение искомой кусочно-полиномиальной функции P(t) можно представить в виде:
P(t)=Si(t) при ti-1 t ti ; i=1,2,…,n – условие кусочности сплайна P(t);
Si(ti-1)=Pi-1;Si(ti)=Pi, i=1,2,…,n – условия прохождения через заданные точки;
Si-j(ti)=Si+1-j(ti), j=1,…,m, i=1,…,n-1 - условия на глад-кость во внутренних точках (3.6)
Поскольку методика интерполирования одинакова по всем координатам (x,y,z), то рассмотрим интерполирование только по одной координате х. Соответствующие сплайны обозначим нижним индексом х. Постановка задачи имеет вид:
x(t)=Sх i(t); ti-1 t ti, i=1,…,n;
2. Sх i (ti-1)=xi-1 ; S х i (ti)=xi , i=1,…,n;
3. Sх i j(ti)=Sх (i+1) j(ti), j=1,…,m, i=1,…,n-1. (3.7)
Число геометрических условий связи, налагаемых на искомую кусочно-полиномиальную функцию x(t) системой (3.7), складывается из 2n (во второй строке) и m(n-1) (в третьей). Суммарное их число равно:
s = 2n + m(n - 1) = n(m + 2) - m.
При интерполировании сплайнами используются много-члены одинаковой степени k. Поскольку каждый из них имеет (k+1) неизвестный коэффициент, то общее число неизвестных коэффициентов равно:
K = n(k+1).
78
Для того чтобы решение существовало и было единствен-ным, необходимо выполнение условия S = K. Для этого:
принимают степень многочленов сплайна
k = m+1;
2) дополнительно вводят m условий связи, которые называют краевыми условиями , поскольку обычно их задают в конечных точках P0, Pn , исходя из специфики решаемой задачи.
Наиболее распространенным случаем является интерпо-ляция при m = 2 (гладкость 2-ой степени). В этом случае необходимо использовать кубические сплайны (k = 3) и добавить 2 дополнительных краевых условия на производ-ные. Чаще всего налагают следующие виды краевых условий.
1) S1 1(t0)=f 1(t0), Sn 1(tn)=f 1(tn ) - условия на первые производные. Применяют в том случае, когда сплайн в концевых точках необходимо гладко соединить с некоторой кривой f(t ).
2) S1 11(t0)=f 11(t0), Sn 11(tn)=f 11(tn ) - условия на вторые производные. Обычно они используются для уменьшения осцилляции сплайна.
3) S1 1(t0) = Sn 1(tn); S1 11(t0) = Sn 11(tn) - условия для периодических функций, заключающиеся в том, что в конечных точках интервала равны не только значения, но и две первых производных сплайна.
После определения степени сплайна k и задания m крае-вых условий по полученному полному набору геометри-ческих условий определяют коэффициенты полиномов, входящих в сплайн. В общем случае для этого можно, как и у многочленов, использовать метод неопределённых коэф-фициентов, в котором все неизвестные определяются из одной линейной системы уравнений. Более оптимальный метод для построения кубических сплайнов будет рас-смотрен ниже.
79
Допустим, каждый i –тый участок сплайна имеет вид
Sxi(t)=Ci0+Ci1t+...+Ciktk .
Каждое из условий второй строки системы (3.7) даёт по одному уравнению:
Ci0 + Ci1 ti-1 + ... + Cik ti-1 k = xi-1 ;
Ci0 + Ci1 ti + ...+ Cik ti k = xi .
Рассмотрим равенство первых производных во внутрен-них точках Sхi 1(ti)=Sх(i+1)1(ti) в третьей строке системы (3.7). После взятия первых производных по t в Sxi и Sx( i+1) и под-становки t = ti получим уравнение
Ci1+2Ci2ti+…+kCiktik-1 = C(i+1)1+2C(i+1)2ti+…+kC(i+1)ktik-1 .
Перенося все слагаемые, содержащие неизвестные коэф-фициенты, в левую часть, получим:
Ci1+2Ci2ti+…+kCiktik-1-C(i+1)1-2C(i+1)2ti-…-kC(i+1)ktik-1=0.
При j = 2 из условия Sxi11(ti) = Sx(i+1)11(ti) после
а) определения вторых производных,
б) подстановки в них узловых точек и
в) переноса всех слагаемых, содержащих неизвестные (коэффициенты полдиномов сплайна),получим:
2Ci2+…+k (k-1) Ciktik-2- 2C(i+1)2-…-k(k-1)C(i+1)k tik-2 = 0 .
Для более высоких степеней производных действия ана-логичны.
После объединения всех полученных уравнений получаем линейную систему вида
AC=Х,
в которой:
- неизвестный векторC задаёт полный набор коэффи-циентов, входящих в многочлены сплайна,
- матрица А содержит сомножители при коэффициентах, с которыми они входят в уравнения, ненулевые значения в ней располагаются на главной, а также соседних с ней диагоналях,
80
- свободный вектор Х содержит заданные узловые значения многочленов сплайна, а также значения производных из краевых условий.
В общем случае решение системы (векторC коэффици-ентов, входящих в многочлены сплайна) может быть найдено любыми общими методами, например, по методу Гаусса. Однако с учётом диагонального вида матрицы А системы на практике используют более оптимальные специальные методы решения.
Пример. Построить сплайн P(t), проходящий через три точки ( х(t0)=x0 , x(t1)=x1, x(t2)=x2 ) , который во внутренней точке x(t1)=x1 имел бы гладкость 2-ой степени (Рис.3.1).
x
S1(t) S2(t)
x1
x2
x0
0
t0 t1 t2 t
Рис.3.1
Решение. Интервала два, поэтому искомые многочлены на них обозначим S1(t), S2(t). Зададим их следующим образом:
S1(t)=C01+C11t+C21t2+C31t3; S2(t)=C02+C12t+C22t2+C32t3.
Условия I рода имеют вид:
S1(t0)=x0; S1(t1)=x1; S2(t1)=x1; S2(t2)=x2.
Условия II рода при m=2 и n=3 будут следующими:
S1 (t1)= S2 (t1); S1 (t1)= S2 (t1).
Поскольку n(k+1) - n(m+2) = m = 2 , то для однознач-ности решения задачи необходимо задать еще два краевых условия. Зададим оба условия в начальной точке:
81
S1(t0)=0; S1 (t0)=0.
Подставляя в уравнения многочленов значения параметра, из условий I рода получаем:
C01+C11t0+C21t20+C31t30=x0 ;
C01+C11t1+C21t21+C31t31=x1 ;
C02+C12t1+C22t21+C32t31=x1 ;
C02+C12t2+C22t22+C32t32=x2 .
Дифференцируя многочлены по параметру и подставляя в первые и вторые производные t = t1 , из условий II рода получаем:
C11 + 2C21t1 + 3C31t12 - C12 - 2C22t1 - 3C32t12 = 0;
2C21 + 6C31t1 - 2C22 - 6C32t1 = 0.
Из краевых условий получаем:
C11 + 2C21t0 + 3C31t0 2 = 0;
2C21 + 6C31t0 = 0.
Объединим все полученные уравнения в систему вида AC=Х, где
Коэффициенты обоих многочленов сплайна находятся од-новременно при решении данной системы: C = A –1 Y.
82
- Глава 1. Основные виды геометрических объектов
- §1. Основные аналитические способы задания кривых
- §2. Виды кривых
- §3. Основные способы задания прямых
- §4. Способы задания окружностей и их дуг
- §6. Виды поверхностей
- Пример 2.Уравнение конуса второй степени
- §7. Основные способы задания плоскостей
- §8. Аналитические способы задания пространственных тел
- Глава 2. Интерполяция кривых и поверхностей алгебраическими полиномами
- §1. Основные способы моделирования кривых. Интерполяция и аппроксимация
- §2. Интерполирование кривых с помощью алгебраических полиномов канонического вида
- §3. Интерполирование по однократным узлам. Интерполяционные многочлены Лагранжа и Ньютона
- §4. Интерполирование по двукратным узлам. Интерполяционные многочлены Эрмита
- §5. Интерполирование поверхностей
- 5.1. Интерполирование по однократным узлам. Билинейные поверхности
- 5.2. Интерполирование по двукратным узлам
- Глава 3. Моделирование кривых и поверхностей при помощи сплайнов
- I. Построение локальных сплайнов.
- II. Построение интерполяционных сплайнов.
- §1. Интерполирование кривых и поверхностей с помощью локальных сплайнов
- 1.1 Построение сплайнов по однократным узлам
- 1.2 Интерполирование по двукратным узлам
- §2. Построение интерполяционных сплайнов.
- 2.2. Кубические интерполяционные сплайны
- §3. Интерполяция с помощью в-сплайнов
- Глава 4. Интерполирование поверхностей по линиям
- §1.Интерполирование по кривым (линейчатые или плазовые поверхности)
- §2. Линейные поверхности Кунса
- §3. Обобщенные поверхности Кунса
- Глава 5. Аппроксимация алгебраическими полиномами
- §1. Аппроксимация по методу наименьших квадратов
- §2. Аппроксимация алгебраическими многочленами по критерию наилучшего равномерного приближения
- § 3. Аппроксимация при помощи кривых и поверхностей Безье
- Глава 6. Модели объектов. Плоские и пространственные линейные преобразования
- §1. Модели (структуры данных) графических объектов
- §2. Задание плоских и пространственных линейных преобразований при помощи уравнений связи
- § 3. Однородные координаты. Матричные представления линейных преобразований
- Задачи. Записать прямые и обратные матрицы элемен-тарных преобразований, при помощи которых можно осу-ществить следующие действия:
- § 4. Составные линейные преобразования
- § 5. Линейные преобразования каркасных моделей
- Глава 7.Проективные изображения трехмерных объектов
- §1. Аксонометрические проекции
- 1.1.Ортогональные проекции
- 1.2 Диметрические проекции
- Куб Диметрическая проекция
- 1. 3. Изометрическая проекция
- §2. Перспективные проекции
- §3. Построение проективных векторных изображений трёхмерных объектов
- Глава 8. Графические базы данных (гбд)
- §1. Структура и схема функционирования типовых гбд
- §2. Постановка задачи проектирования гбд в графической системе AutoCad
- Точки привязки
- §3. Разработка структуры гбд
- §4. Пакетные файлы гбд
- §5. Параметрические функции гбд
- §6. Создание библиотек слайдов гбд
- §7. Модификация основного меню AutoCad 2000
- 7.1. Файл меню. Его разделы. Управляющие символы
- 7.2. Модификация всплывающего и падающего меню AutoCad2000
- 7.3. Модификация экранного меню AutoCad2000
- 7.4. Модификация графического меню AutoCad2000
- §8. Использование разработанной базы данных
- Глава 9. Создание реалистических изображений
- § 1. Пространственные модели
- §2. Геометрическое моделирование объектов сложной формы
- § 3. Текстуры
- § 4. Основные операции при построении реалистических изображений
- § 5. Моделирование источников освещения и расчёт освещённости малых участков поверхности объектов
- § 6. Моделирование отражающих свойств поверхностей
- § 7. Моделирование отражения от поверхности (затенение)
- § 8. Удаление невидимых граней. Расчёт теней
- §9. Создание стереоскопического эффекта
- §10. Анимация
- Порядок выполнения и примерные темы курсовых работ
- Литература