Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


5-6 ПАРАБОЛИЧЕСКАЯ ИНТЕРПОЛЯЦИЯ

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

Параболическая интерполяция была разработана Оверхаузером [5-9]. Оверхаузер строил кривую интерполяции, исходя из геометрических соображений. Идея состоит в линейной интерполяции пересекающихся частей двух парабол. Параболы заданы четырьмя последовательными точками: первая - тремя первыми точками, вторая - тремя последними. Пересечение лежит между второй и третьей точками.

283.jpg

Рис. 5-18 Параболическая интерполяция.

Несмотря на то, что параболы - плоские кривые, их линейная интерполяция это кубическая пространственная кривая, как показано на рис. 5-18.

В работе [5-10] рассматривается метод построения одного из семейств параболически интерполированных кривых с помощью матриц. Этот алгоритм требует меньше вычислений. Рассмотрим обобщенный вывод для всего семейства. Параболически интерполированная кривая имеет вид

,                (5-41)

где , ,  - параметры, ,  - параметрические параболы, проходящие через , ,  и , , , соответственно, как показано на рис. 5-19. Для простоты параболы на рис. 5-19 лежат в одной плоскости, но это не обязательно (рис. 5-18). Параметрическое представление  и  следующее:

,                     (5-42)

,                     (5-43)

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

,                        (5-44)

284.jpg

Рис. 5-19 Обозначение для параболической интерполяции.

Чтобы определить  и , а затем  и , необходимо установить связь между параметрами , , . Из рис. 5-19, замечая, что  меняется от 0 до 1 на сегменте от  до  вдоль ,  меняется от 0 до 1 на сегменте от  до  вдоль , и  меняется от 0 до 1 на сегменте от  до  вдоль , разумно предположить, что   и , а также  и  связаны линейно. Отсюда

,                ,                 (5-45)

где  - константы, заданные граничными условиями в вектор-точках , ,  и . Предположим, что данные распределены равномерно или почти равномерно, и диапазон параметров нормализован, т.е. . Тогда можно условиться, что

,                  ,   ,                  (5-46а)

,                  ,    ,                   (5-46b)

,                                                     .                  (5-46с)

Здесь основные предположения таковы:  для  и  для . Эти предположения сделаны в работе [5-10]. В результате получаем единственный член семейства параболически интерполированных кривых, как будет показано ниже.

В предположениях уравнений (5-45)

Итак

,          .                  (5-47)

Вспомним уравнение (5-42) и используем уравнение (5-46а), чтобы выразить  через , , ,

,    (5-48а)

,       (5-48b)

.      (5-48с)

Запишем в виде одной матрицы

.

Отсюда

.                 (5-49)

Аналогично через , ,  находится выражение . Пользуясь уравнением (5-46b), получаем

,    (5-50a)

,       (5-50b)

.      (5-50c)

Сравнение с уравнениями (5-48) сразу же дает

 .                (5-51)

Вспомним уравнение (5-41) и подставим уравнения (5-42) и (5-43):

.

Используем уравнение (5-47), чтобы переписать это только в терминах параметра ,

.

Подставив  и  из уравнений (5-49) и (5-51), получим

.

Перепишем уравнение так, чтобы включить все четыре точки , , , :

.

Наконец, перепишем результат в форме уравнения (5.44)

,                        (5-44)

где

                      (5-52)

и

.                (5-53)

Заметим, что снова (см. разд. 5-3 и уравнение (5-22)) результат имеет вид произведения матрицы интерполяционных функций и геометрической матрицы. Интерполяционные функции  показаны на рис. 5-20. Реализация алгоритма очень проста. Рассмотрим подробности на примере.

Пример 5-5 Параболическая интерполяция

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

Из уравнений (5-44), (5-52) и (5-53) для  получаем

.

Аналогично при  имеем . Полученная кривая изображена на рис. 5-21.

287-1.jpg

Рис. 5-20 Весовые функции для параболически интерполированных кривых в случае .

287-2.jpg

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

 



<< ПредыдущаяОглавлениеСледующая >>