3.2.13. Кривые Безье. Сплайны
Важной задачей в машинном проектировании является функциональное описание кривой (или поверхности), заданной графически. Введем множества функций, называемых базисными функциями Бернштейна. Предположим, что все точки данных находятся в интервале . Тогда я базисная функция Бернштейна является полиномом степени вида
.
Например, для четыре кубические функции базиса Бернштейна имеют вид
На самом деле для вычисления значения берншейновской базисной функции в точке определение не применяют. Вместо этого используют рекуррентные формулы
,
которые менее чувствительны к ошибкам округления.
Поскольку каждая функция представляет собой полином степени , то и их линейная комбинация
является таким же полиномом.
Основная идея – определение графически. С этой целью ставят в соответствие каждому на плоскости точку , которая называется управляющей точкой, при этом . По этим точкам строят ломаную Безье.
Одна трудность, связанная с этим подходом, состоит в том, что невозможно сдвигать управляющие точки вправо или влево. Как только выбрано , точки фиксируются. Чтобы обеспечить такую возможность, сделаем обобщение. Пусть - точка на плоскости; определить векторную кривую Безье
.
Когда изменяется от до , кривая описывает траекторию на плоскости, начинающуюся в и кончающуюся в . В этом варианте могут быть произвольными точками, т. е. - это просто параметр, изменяющийся вдоль кривой.
Для многих приложений полезно уметь записывать интерполянт в виде линейной комбинации функций, которые сами являются сплайнами - это сплайны (кусочно-полиномиальная функция с двумя непрерывными производными).
Коэффициенты при сплайнах имеют физическое значение, аналогичное коэффициентам кривой Безье.
- Содержание
- 3. Интерполялия, экстрополяция, аппроксимация, сглаживание 5
- 3. Интерполялия, экстрополяция, аппроксимация, сглаживание
- 3.1. Введение
- 3.2. Интерполяция
- 3.2.1. Полиномиальная интерполяция
- Аппроксимационная теорема Вейерштрасса.
- 3.2.2. Вычисление значений многочлена. Схема Горнера
- 3.2.3. Линейная интерполяция
- 3.2.4. Квадратичная интерполяция
- 3.2.5. Построение других базисных функций
- 3.2.6. Многочлены Тейлора
- 3.2.7. Лагранжева интерполяция
- I, j, n : Integer;
- 3.2.8. Ошибки полиномиальной интерполяции
- 3.2.9. Кусочно-линейная интерполяция
- Var X,y : Array[0..N] of Real;
- I,j : Integer;
- Var f:Real;
- 3.2.10. Кусочно-кубическая интерполяция
- 3.2.11. Эрмитов кубический интерполянт
- 3.2.12. Кубические сплайны
- Var r, s, l : Vect;
- Var l, I, j : Integer;
- 1 : Begin
- 0 : Begin
- Var XX:RealType;
- 3.2.13. Кривые Безье. Сплайны
- 3.2.14. Итерационный способ вычисления интерполяционного полинома (способ Эйткена)
- 3.2.15. Интерполяционный многочлен Ньютона
- 3.2.16. Интерполяционный многочлен Гаусса
- 3.2.17. Интерполяционный многочлен Стирлинга
- 3.2.18. Интерполяционный многочлен Эверетта
- 3.3. Аппроксимация данных методом наименьших квадратов
- 3.3.1. Аппроксимация данных методом наименьших квадратов
- 3.3.2. Аппроксимация данных с другими нормами
- 3.3.3. Аппроксимация данных многочленом заданной степени
- Var X,y:array[1..Nmax] of real;
- I,n:integer;
- Литература
- Простейшие способы интерполяции
- Интерполяционные полиномы
- Сплайн-интерполяция
- Тригонометрическая интерполяция
- Неклассические методы интерполяции
- Реконструкция функций
- Всюду гладкая интерполяция