- •Параметрические Кривые: Обзор
- •Примеры
- •Касательный Вектор и Касательная
- •Примеры
- •Нормальный Вектор и Кривизна
- •Кривизна
- •Еще примеры
- •Почему Направляющая Тройка Важна?
- •Вопросы Непрерывности
- •Проблемы с Параметрическим Представлением
- •Параметризация По Длине Дуги
- •Геометрическая Непрерывность
- •Рациональные Кривые
- •Рациональные Формы Стандартных Кривых
- •Теоремы Объединения [Uniformization]
- •Построение Кривых Безье
- •Что, если область u не [0.1]?
- •Краткий Итог
- •Нахождение точки на Кривой Безье: Алгоритм De Casteljau's
- •Вычисления
- •Рекурсивное Представление
- •Кривые Безье Касательны к их Первому и Последнему Сегменту.
- •Объединение Двух Кривых Безье с соблюдением c1-Непрерывности
- •Соотношение Между Производной и Алгоритмом de Casteljau
- •Производные Высших Порядков [Higher Derivatives]
- •Разбиение Кривой Безье
- •Зачем Это Нужно, блин ? [Why Do We Need Curve Subdivision?]
- •Базисные Функции b-spline: Определение
- •Два Важных Замечания
- •Какое Значение Имеют Коэффициенты?
- •Базисные Функции b-spline: Важные Свойства
- •Ni,p(u) - это многочлен p-й степени от u
- •Неотрицательность -- Для всех I, p и u, Ni,p(u) неотрицательно
- •Влияние Множественных УзлоFf
- •Примеры Вычислений
- •Простые Узлы
- •Множественные Узлы
- •Кривые b-spline: Определение
- •Кривые b-spline: Важные Свойства
- •Преимущества Использования Кривых b-spline
- •Кривые b-spline: Вычисление Коэффициентов
- •Кривые b-spline: Перемещение Контрольных Точек
- •Некоторые Полезные Следствия Свойства Сильного Ограничивающего Многоугольника
- •Кривые b-spline: Изменение Узлов
- •Замечание о Множественных Узлах
- •Производные Кривой b-spline
- •Фиксированные Кривые b-spline
- •Производные Высших Порядков
- •Nurbs: Мотивация
- •Nurbs: Определение
- •Два Прмых Следствия [Two Immediate Results]
- •Геометрическая Интерпретация.
- •Nurbs: Важные Свойства
- •Важные Свойства Базисных Функций nurbs
- •Неотрицательность -- для всех I и p, Ri,p(u) неотрицательно
- •Важные Свойства Кривых nurbs
- •Кривая nurbs p(u) - это кусочная кривая, каждый компонент которой - это рациональная кривая степени p
- •Фиксированная кривая nurbs p(u) проходит через две крайние контр. Точки p0 и pn
- •Nurbs: Изменение Весов
- •Углубленное Рассуждение
- •Кривые b-spline/nurbs: Введение Узла
- •Введение Одиночного Узла
- •Пример 1: Введение Узла на Узловом Интервале
- •Пример 2: Введение Узла в Существующем Простом Узле
- •Пример 3: Введение Узла в Существующем Множественном Узле
- •Введение Узла для Кривых nurbs
- •Кривые b-spline/nurbs: Множественное Введение Узла
- •Замечание (Наблюдение) I: Коэффициенты для Вычисления Новых Контр. Точек
- •Замечание [Наблюдение] II: Вычисление Новых Контрольных Точек
- •Вычислить первый столбец, второй столбец, ... И h-ый столбец;
- •Новым набором контр. Точек будут те, что ограничены пунктирным многоугольником.
- •Отсечение Углов
- •Алгоритм De Boor
- •Алгоритм De Boor для Кривых nurbs
- •Основные Понятия
- •Параметрические Поверхности
- •Неявные Поверхности
- •Особенности
- •Поверхности Безье: Построение [Construction]
- •Базисные Функции
- •Поверхности [Tensor] Произведения
- •Поверхности Безье: Важные Свойства
- •Изопараметрические Кривые
- •Граничные [Boundary] Кривые
- •Направление u и направление V
- •Поверхности [Tensor] Произведения: Возвращаемся к теме
- •Поверхности b-spline: Построение
- •Базисные Функции
- •Фиксированные, Закрытые и Открытые Поверхности b-spline
- •Поверхности b-spline: Важные Свойства
- •Выбор Параметров : Обзор [Parameter Selection Overview]
- •Метод Длины Хорды
- •Центростремительный Метод
- •Получение Узлового Вектора
- •Универсальный Метод
- •Параметры и Узловые Векторы для Поверхностей
- •Глобальная Интерполяция Кривых
- •Нахождение Решения
- •Алгоритм
- •Влияние Параметров и Узлов
- •Влияние Степени
- •Почему Этот метод Назывется Глобальным?
- •Глобальная Аппроксимация Кривых
- •Значение Наименьшей Площади
- •Поиск Решения
- •Алгоритм
- •Влияние Степени и Количества Контрольных Точек
- •Почему Этот Метод Глобальный?
- •Глобальная Интерполяция Поверхностей
- •Поиск Решения
- •Почему Этот Метод Глобальный?
- •Глобальная Аппроксимация Поверхностей
- •Поиск Решения
- •Усовершенствование Алгоритма
- •Простое Сравнение
Базисные Функции b-spline: Важные Свойства
Вспомним определение базисных функций B-spline:
Этот набор базисных функций имеет ряд свойств, многие их которых похожи на базисные функции кривых Безье.
Ni,p(u) - это многочлен p-й степени от u
Неотрицательность -- Для всех I, p и u, Ni,p(u) неотрицательно
Локальная Поддержка [Local Support] -- Ni,p(u) ненулевой многочлен на [ui,ui+p+1) Это было рассмторено на предыдущей странице.
На любом интервале [ui, ui+1) максимум p+1 базисных функций p степени не равны нулю, а именно: Ni-p,p(u), Ni-p+1,p(u), Ni-p+2,p(u), ... и Ni,p(u)
Деление Единства [Partition of Unity] -- Сумма всех ненулевых базисных функций p степени на интервале [ui, ui+1) равна 1: Предыдущее свойство говорит о том, что Ni-p,p(u), Ni-p+1,p(u), Ni-p+2,p(u), ... и Ni,p(u) не равно нулю на [ui, ui+1). А это свойство указывает на то, что сумма этих p+1 базисных функций равна 1.
Если число узлов равно m+1, степень базисных функций равна p, а количество базисных функций степени p равно n+1, то m = n + p + 1 : Это легко проверить. Пусть Nn,p(u) будет последней базисной функцией p степени. Она ненулевая на [un, un+p+1). Так как это последняя базисная функция, un+p+1 должен быть последним узлом um. Таким образом, имеем un+p+1 = um и n + p + 1 = m. В итоге, если дано m и p, примнимаем n = m - p - 1 и базисные функции p степени будут N0,p(u), N1,p(u), N2,p(u), ... и Nn,p(u).
Базисная функция Ni,p(u) - это кривая, составленная из многочленов p степени с соединительными точками в узлах на [ui, ui+p+1 ) Пример на предыдущей странице хорошо иллюстрирует это свойство. Например, N0,2(u), являющееся ненулевым на [0,3), образовано из трех парабол, построенных [defined] на [0,1), [1,2) и [2,3). Они соединяются в узлах 2 и 3.
В узле множественности k базисная функция Ni,p(u) является Cp-k-непрерывной. Таким образом, увеличение множественности уменьшает уровень непрерывности, а увеличение степени увеличивает его. Вышеуказанная базисная функция второй степени N0,2(u) - C1-непрерывна в узлах 2 и 3, так как это простые узлы (k = 1).
Влияние Множественных УзлоFf
Множественные узлы значительно влияют на вычисление базисных функций и некоторых "счетных" свойств. Мы рассмотрим два из них, а на следующей странице будет пример расчета.
Каждый узел множественности k уменьшает ненулевой интервал самое большее k-1 базисных функций. Возьмем Ni,p(u) и Ni+1,p(u). Последнее не равно нулю на [ui, ui+p+1) тогда как первое не равно нулю на [ui+1, ui+p+2). Если сместить ui+p+2 до ui+p+1, они станут двойным узлом. Тогда у Ni,p(u) будет по прежнему p+1 узловых интервалов, на которых она не равна нулю; но число узловых интервалов, на которых Ni+1,p(u) не равно нулю, уменьшается на 1, так как интервал [ui+p+1,ui+p+2) пропадает.
Это наблюение можно легко обобщить. Фактически, не обращая внимания на изменение крайних точек узловых интервалов, создание узла множественности k влияет на k-1 базисных функций. Одна из них теряет один узловой интервал, вторая теряет два, третья - три, и так далее.
Выше показаны базисные функции 5 степени, где левый и правый крайние узлы имеют множественность 6, а все промежуточные узлы - простые (слева в верхнем ряду). Верхний рисунок справа - это результат смещения u5 до u6. Базисные функции, оканчивающиеся в u6, имеют меньше узловых интервалов, на которых они являются ненулевыми. На рисунках в среднем ряду u4, а затем u3 смещаются в u6, делая u6 узлом множественности 4. Нижний рисунок показывает результат после смещения u2 до u6, получаем узел множественности 5.
В каждом внутреннем узле множественности k, количество ненулевых базисных функций не больше p - k + 1, где p - это степень базисных функций. Так как смещение ui-1 в ui растянет базисную функцию, ненулевая часть которой оканчивается в ui-1, до ui, это уменьшит количество ненулевых функций в ui на одну. Точнее, увеличение множественности ui на единицу уменьшает количество ненулевых базисных функций на единицу. Так как самое большее p+1 базисных функций могут быть ненулевыми в ui, то количество ненулевых базисных функций в узле множественности k не больше (p + 1) - k = p - k + 1.
На рисунках выше, так как множественность узла u6 равна 1 (простой узел), 2, 3, 4 и 5, количества ненулевых базисных функций в u6 равны 5, 4, 3, 2 и 1.