Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Федорков Е.Д., Кольцов А.С. Геометрическое моделирование.doc
Скачиваний:
172
Добавлен:
02.05.2014
Размер:
2.73 Mб
Скачать

14.1. Методы полиномиальной аппроксимации одномерных обводов

14.1.1. Общая постановка задачи аппроксимации дискретного набора данных

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

  1. Приближенное представление функции. На определенном отрезке задана сложная (с точки зрения вычисления ее значений) функция. Требуется заменить эту функцию некоторой близкой функцией, значения которой легко вычисляются.

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

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

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

14.1.2. Аппроксимация обводов параметрическими полиномами

Теория приближения функций полиномами была разработана в трудах И. Ньютона, П.Л. Чебышева, К. Вейерштрасса, С.Н. Бернштейна и др. Чисто математические аспекты полиномиального приближения освещены достаточно подробно в многочисленной литературе по вычислительной математике и численным методам.

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

Параметризация осуществляется заданием декартовых координат точки кривой как функций некоторого параметра:

     .

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

                     , где- радиус-вектор точки на кривой;

            - орты координатных осей;

            - параметр точки на кривой.

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

Параметрический метод задания кривых имеет следующие преимущества:

  • более простое вычисление координат точек;

  • упрощение расчетов при преобразованиях кривых;

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

В геометрическом моделировании большое теоретическое и прикладное значение имеет разработка методов и алгоритмов проектирования сложных криволинейных обводов, описываемых параметрическими полиномами. При этом наиболее часто используется стандартная степенная форма (мономиальный базис) представления таких полиномов:

 

( 1 )

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

                 .

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

  • решения могут повторяться (например, если  );

  • решения могут быть как вещественными, так и комплексными;

  • комплексные корни имеют сопряженные пары.

Как правило, из множества полиномов выбирают полиномы нечетных степеней. Это объясняется следующим. Если полином  имеет нечетную степень, то он должен иметь, по крайней мере, один вещественный корень. Это вытекает непосредственно из приведенных выше свойств, т.к. общее число решений нечетного полинома – нечетное число, а комплексных корней (если они существуют) – четное число. Далее мы также будем рассматривать только вещественные полиномы.

Итак, рассмотрим вектор-функцию в виде векторного полинома степени  :

  ,,

( 2 )

где   - произвольные постоянные векторы;

           - интервал изменения параметракривой.

    Пусть в  точках кривойпоследовательно заданы значения радиус-вектора.

Назначим каждому значению радиус-вектора  значение параметрасогласно сетке

  :.

( 3 )

    Найдём значения произвольных постоянных векторов в выражении ( 2 ) из условий интерполирования кривой  полиномом ( 2 ) :

  .

( 4 )

Подставляя ( 2 ) в условия ( 4 ), получим систему  векторных линейных алгебраических уравнений для нахождения постоянных векторов в выражении ( 2 ) :

  .

( 5 )

Эту систему уравнений можно записать в компактной матричной форме:

                         .

    Система векторных линейных алгебраических уравнений (5) эквивалентна трём системам скалярных алгебраических уравнений относительно проекций радиус-вектора  на базисные векторысоответственно:

  ,

(6)

где  - заданные значения проекций радиус-вектора в точках;

           - проекция постоянного векторана осьсистемы координат.

    При этом все системы уравнений ( 6 ) будут иметь одинаковые матрицы коэффициентов:

.

  

( 7 ) 

  

В связи с этой особенностью при интерполировании кривой  параметрическим полиномом достаточно решить одну систему линейных алгебраических уравнений ( 6 ) с тремя правыми частями. При этом каждая правая часть системы будет соответствовать j-ой проекции постоянных радиус-векторана оси координат.     Матрица ( 7 ) является матрицей Вандермонда, и её определитель отличен от нуля в силу выбора узлов сеткисогласно ( 3 ). Следовательно, система уравнений ( 6 ) имеет единственное решение.     На практике для интерполирования значений функции в точках иногда применяют полиномы, предложенные Лагранжем:

,

( 8 )

где    ,;

- базисные полиномы интерполяции Лагранжа.

    В этом случае для построения полинома ( 8 ) не нужно решать систему линейных алгебраических уравнений вида ( 5 ), полином явно выражается через исходные величины  .

Если в точках заданы не только значения радиус-вектора  , но и производные, то единственным полиномом наименьшей степени, имеющим именно эти значения функции и ее производных во всех точках, является интерполяционный полином Эрмита:

  .

(9)

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

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

Задачу интерполирования некоторого набора данных параметрическими полиномами можно представить с помощью так называемого приближения Вандермонда. Уравнение ( 1 ) запишем в следующем виде:

  ,

( 10 )

Для определения коэффициентов полинома ( 10 ) надо решить три линейных системы уравнений. Запишем обобщенную матрицу Вандермонда:

                                     ,

где  представляет собой базис пространства всех полиномов степени не выше.

    Определитель обобщенной матрицы Вандермонда также отличен от нуля, следовательно, система уравнений для определения коэффициентов полинома ( 10 ) имеет единственное решение. Доказано, что для геометрического моделирования гладких кривых и обводов в качестве  удобно использовать полиномы Бернштейна. Одной из актуальных в этом случае является задача преобразования различных полиномиальных базисов в базис Бернштейна.