Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Универсальный Метод

Читайте также:
  1. I. 2.3. Табличный симплекс-метод.
  2. I. 3.2. Двойственный симплекс-метод.
  3. I. Передача параметров запроса методом GET.
  4. II. Методика работы
  5. II. Методика работы.
  6. II. Методика работы.
  7. II. Методика работы.

В 1999 году Choong-Gyoo Lim предложил интересный метод выбора параметров. В предыдущих методах мы находили параметры, а потом получали узловой вектор. Метод Lim, известный как универсальный метод, работает по-другому, используя равномерно распределенные узлы для вычисления параметров.

Допустим, нам нужны n +1 параметров, по одному на каждую исходную точку, а степень желаемой интерполтрованной кривой равна p. Затем, количество узлов равно m +1, где m = n + p + 1. Lim предложил равномерно распределить эти узлы. Говоря точнее, первые p +1 узлов равны 0, последние p +1 узлов равны 1, а оставшиеся n - p узлов равномерно делят область [0,1]. Таким образом, узлы равны:

Этот набор узлов фиксированного типа определяет n +1 базисных функций B-spline. Затем, параметры выбираются так, чтобы у них были значения, в которых соответствующие им базисные функции достигали максимума. Взгляните на следующий рисунок, где n = 6 (т.e. 7 исходных точек), p = 4, а m = 11 (т.e. 12 узлов). Так как мы используем фиксированные узлы, то 0 и 1 - это два узла множественности 5 (т.e. p +1) и есть только два внутренних узла в 1/3 и 2/3. Заметьте, что всего n +1 базисных функции B-spline, а максимумы первой и последней равны 0 и 1, соответственно. Другие максимумы помечены голубыми квадратиками, а параметры помечены желтыми кружками.

Приведем пример с расчетами вручную. Допустим, у нас есть 4 исходных точки (т.e. n =3) и степень p =2. Таким образом, количество узлов равно 7 (т.e. m = n + p + 1 = 6). Так как узлы равномерно распределены, то они равны

u 0 = u 1 = u 2 u 3 u 4 = u 5 = u 6
  0.5  

Затем можно вычислить желаемые базисные функции B-spline. Начнем со степени 0 (т.e. p = 0). Нажмите тут, чтобы посмотреть определение базисных функций B-spline, и тут, для примеров по вычислениям. Полученные результаты:

Узловой интервал Базисная функция
[ u 0, u 1) = [0,0) N 0,0(u) = 0
[ u 1, u 2) = [0,0) N 1,0(u) = 0
[ u 2, u 3) = [0,0.5) N 2,0(u) = 1
[ u 3, u 4) = [0.5,1) N 3,0(u) = 1
[ u 4, u 5) = [1,1) N 4,0(u) = 0
[ u 5, u 6) = [1,1) N 5,0(u) = 0

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

Базисная Функция Уравнение Ненулевая Область
N 0,1(u)   везде
N 1,1(u) 1-2 u [0,0.5)
N 2,1(u) 2 u [0,0.5)
2(1- u) [0.5,1)
N 3,1(u) 2 u -1 [0.5,1)
N 4,1(u)   везде

Базисные функции 2 степени вычисляются следующим образом:

Базисная Функция Уравнение Ненулевая Область
N 0,2(u) (1-2 u)2 [0,0.5)
N 1,2(u) 2 u (2-3 u) [0,0.5)
2(1- u)2 [0.5,1)
N 2,2(u) 2 u 2 [0,0.5)
-2(1-4 u +3 u 2) [0.5,1)
N 3,2(u) (2 u -1)2 [0.5,1)

Следующий рисунок показывает все четыре базисные функции B-spline 2 степени.

Нетрудно проверить, что максимумы N 0,2(u), N 1,2(u), N 2,2(u) и N 3,2(u) равны 1 при u = 0, 2/3 при u = 1/3, 2/3 при u = 2/3 и 1 при u = 1. Таким образом, по универсальному методу, узловой вектор равен { 0, 0, 0, 0.5, 1, 1, 1}, а вектор параметров равен { 0, 1/3, 2/3, 1}. В данном случае у нас равномерно распределенные параметры. Тем не менее, в общем случае параметры не обязательно должны быть равномерно распределены, хотя распределение параметров обычно довольно ровное. Из-за этого факта универсальный метод работает похоже на метод равномерного распределения.

Из-за того, что узлы равномерно распределены, множественных узлов нет и все базисные функции являются Cp -1-непрерывными. Нажмите тут, чтобы узнать больше о непрерывности базисных функций B-spline. Таким образом, на практике, максимум базисной функции B-spline не нужно вычислять точно. Опыт показывает, что подбор некоторых значений на ненулевой области и затем выбор из них одного с максимальным значением функции обычно дает довольно точный результат. Если желательно найти точные максимумы, то можно использовать одномерный поиск, например, по методу золотого сечения. Область поиска - это, конечно, ненулевая область базисной функции B-spline.

У универсального метода есть очень интересное свойство. А именно - он является инвариантным для преобразований подобия. Это значит, что трансформированная интерполированная кривая B-spline может быть получена трансформированием исходных точек. Это похоже на свойство инвариантности преобразований подобия для кривых B-spline. Исходя из такого вывода, сразу можно сказать, что тем же свойством обладает и метод равномерного распределения, потому что узловой вектор вычисляется из набора равномерно распределенных параметров, которые неизменны до и после трансформации. Но например, метод длины хорды и центростремительный методы не являются инвариантными для преобразований подобия.


Дата добавления: 2015-10-29; просмотров: 114 | Нарушение авторских прав


Читайте в этой же книге: Замечание [Наблюдение] II: Вычисление Новых Контрольных Точек | Алгоритм De Boor | Алгоритм De Boor для Кривых NURBS | Параметрические Поверхности | Неявные Поверхности | Поверхности Безье: Алгоритм de Casteljau | Поверхности B-spline: Важные Свойства | Поверхности B-spline: Алгоритм de Boor | Метод Длины Хорды | Центростремительный Метод |
<== предыдущая страница | следующая страница ==>
Получение Узлового Вектора| Параметры и Узловые Векторы для Поверхностей

mybiblioteka.su - 2015-2024 год. (0.007 сек.)