logo
Компьютерная графика / МАШ_ГРАФИКА

§1. Основные способы моделирования кривых. Интерполяция и аппроксимация

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

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

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

41

интерполяцией. Если условия выполняются приближенно, то - аппроксимацией.

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

При интерполировании моделируемая кривая P(t) на некотором сегменте должна точно удовлетворять заданным геометрическим условиям (прохождение через точки, условия на производные и т.д.). Наиболее рас-пространенным является случайлинейного интер-полирования, когда искомая кривая имеет вид:

, (2.1)

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

Определение. Функции образуютбазис, если любая достаточно гладкая кривая P(t) может быть единственным образом выражена через них в виде (2.1).

Единственность представления P(t) в форме (2.1) равно-сильна выполнению следующего условия: , при, то есть,

42

тождественно нулевая функция не может быть представлена разложением с ненулевыми коэффициентами. Семейство функций {i(t)} обычно задают заранее. Наиболее часто в качестве {i(t)} используют степенные функции: i = xi, i=0,1,…,n. В этом случае искомая кривая P(t) вида (2.1) является алгебраическим полиномом с неизвестными коэффициентами:

(2.2)

Решение задачи интерполирования при заданном базисе {i(t)} сводится к решению системы уравнений, получаемой при подстановке заданных геометрических условий в выражение (2.1). Метод решения, при котором коэффициенты разложения a={a0,a1,…,an) определяются непосредственным решением этой системы, называется методом неопределенных коэффициентов.

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

Другим распространённым способом интерполирования является построение кусочных кривых. В этом случае для моделируемой кривой не существует единого пред-ставления (например, как (2.1)) и она состоит из отдельных последовательных участков. Данный подход используется при интерполировании алгебраическими сплайнами.

В ряде случаев при моделировании кривых использование интерполирования либо невозможно, либо нежелательно. В первом случае это обычно связано с тем, что максимальная степень зафиксирована либо ограничена и ее “ не хватает” для точного выполнения всех геометрических

43

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

При нахождении аппроксимирующей кривой P(t) вида (2.1) в случае заданного базиса {i(t)} возможны два основ-ных подхода:

1. Варьируются геометрические условия, а коэффициенты a. определяются по ним однозначно. Примером такого подхода являются кривые Безье.

2. Геометрические условия принимаются неизменными, а варьируются величины коэффициентов a (например, при аппроксимации с помощью алгебраических полиномов).

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

- численные характеристики близости кривой P(t) к заданным геометрическим условиям;

- эстетический вид получаемой кривой, который субъективно оценивается проектировщиком.

В качестве численной меры близости моделируемой кривой P(t) к заданной на интервале [a,b] функции f(t) наиболее часто применяют две характеристики:

  1. максимальное абсолютное отклонение

, (2.3 a)

  1. среднеквадратичная ошибка

. (2.4 а)

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

44

том случае, если моделируется кривая, которая должна пройти вблизи заданных точек (x(t1), x(t2),…, x(tn)),то критерии (2.3 а) и (2.4 а) заменяют, соответственно, на следующие величины:

(2.3 б)

(2.4 б)

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

(a0, …, an) min ; (a0, …, an) min .

(a0, … , an) (a0, … , an)

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

Задачи.

1. На моделируемую кривую у(х) в узлах х0 , х1 наложены следующие геометрические условия: у(х0) = у0 ; у0)=у0 ; у(х1) = у1 ; у1)=у1 . При каком количестве параметров синтеза всегда возможна интерполяция кривой, а при каком – аппроксимация?

2. В узлах х0 , х1 , х 2 на моделируемую кривую, форма которой задана шестью коэффициентами, наложены следующие геометрические условия: у(х0) = у0 ; у0)=у0 ; у(х1) = у1 ; у1)=у1 ; у1) = у1; у(х2) = у2 ; у2)=у2 . Возможна ли в общем случае интерполяция данной кривой?

45