- •Параметрические Кривые: Обзор
- •Примеры
- •Касательный Вектор и Касательная
- •Примеры
- •Нормальный Вектор и Кривизна
- •Кривизна
- •Еще примеры
- •Почему Направляющая Тройка Важна?
- •Вопросы Непрерывности
- •Проблемы с Параметрическим Представлением
- •Параметризация По Длине Дуги
- •Геометрическая Непрерывность
- •Рациональные Кривые
- •Рациональные Формы Стандартных Кривых
- •Теоремы Объединения [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]
- •Метод Длины Хорды
- •Центростремительный Метод
- •Получение Узлового Вектора
- •Универсальный Метод
- •Параметры и Узловые Векторы для Поверхностей
- •Глобальная Интерполяция Кривых
- •Нахождение Решения
- •Алгоритм
- •Влияние Параметров и Узлов
- •Влияние Степени
- •Почему Этот метод Назывется Глобальным?
- •Глобальная Аппроксимация Кривых
- •Значение Наименьшей Площади
- •Поиск Решения
- •Алгоритм
- •Влияние Степени и Количества Контрольных Точек
- •Почему Этот Метод Глобальный?
- •Глобальная Интерполяция Поверхностей
- •Поиск Решения
- •Почему Этот Метод Глобальный?
- •Глобальная Аппроксимация Поверхностей
- •Поиск Решения
- •Усовершенствование Алгоритма
- •Простое Сравнение
Nurbs: Важные Свойства
Дана последовательность n+1 контр. точек p1, p2, ..., pn, каждая из которых связана с неотрицательным значением веса wi (т.e. pi имеет вес wi >= 0), и узловой вектор U = { u0, u1, ..., um } из m+1 узлов, кривая NURBS степени p определяется так:
,
где Ri,p(u) равно
Причина другого символьного обозначения в том, что нам нужно переписать определение NURBS как можно ближе к определению B-spline. В вышеуказанном определении все Ri,p(u) - это базисные функции NURBS.
Важные Свойства Базисных Функций nurbs
Так как NURBS - это обобщение B-spline, то они имеют те же важные свойства. Далее - некоторые важные свойства базисных функций NURBS. Пожалуйста, сравните их со свойствами базисных функций B-spline.
Ri,p(u) - это рациональная функция p степени от u.
Неотрицательность -- для всех I и p, Ri,p(u) неотрицательно
Локальная Поддержка -- Ri,p(u) не равно нулю на [ui,ui+p+1) Так как Ni,p(u) не равно нулю на [ui,ui+p+1), то же самое и с Ri,p(u). Заметьте, что приняли все wi не равными нулю.
На любом узловом интервале [ui, ui+1), самое большее p+1 базисных функций степени p не равны нулю, а именно: Ri-p,p(u), Ri-p+1,p(u), Ri-p+2,p(u), ..., и Ri,p(u)
Деление Единства -- Сумма всех ненулевых базисных функций степени p на интервале [ui, ui+1) равна 1:
Есликоличество узлов равно m+1, степень базисных функций равна p, а количество базисных функций степени p равно n+1, то m = n + p + 1 :
Базисная функция Ri,p(u) является составной кривой, составленной из рациональных функций степени p с точками соединения в узлах на [ui, ui+p+1 )
В узле множественности k базисная функция Ri,p(u) является Cp-k-непрерывной. Таким образом, увеличение множественности уменьшает уровень непрерывности, а увеличение степени его увеличивает.
Если wi = c для всех i, где c - это ненулевая константа, Ri,p(u) = Ni,p(u) Таким образом, базисные функции B-spline - это особый случай базисных функций NURBS, когда все весы являются ненулевыми константами. Мы обсуждали особый случай для c = 1.
Важные Свойства Кривых nurbs
Далее перечисляются важные свойства кривых NURBS. Пожалуйста, сравните их со свойствами кривых B-spline. Заметьте, что NURBS могут быть открытыми, фиксированными и замкнутыми. Как и с кривыми B-spline, если первые p+1 и последние p+1 узлов равны левой и правой границам области определения, кривая называется фиксированной.
Кривая nurbs p(u) - это кусочная кривая, каждый компонент которой - это рациональная кривая степени p
Равенство m = n + p + 1 должно выполняться
Фиксированная кривая nurbs p(u) проходит через две крайние контр. Точки p0 и pn
Свойство Сильного Огранич. Многоугольника: кривая NURBS содержится в огранич. многоугольнике ее контр. точек. Более того, если u находится на интервале [ui,ui+1), то p(u) находится в огр. многоугольнике контр. точек pi-p, pi-p+1, ..., pi Мы очень ясно покзали, что все весы должны быть неотрицательными. Если некоторые из них отрицательны, то свойство сильного огранич. многоугольника, а может быть, даже просто огранич. многоугольника, не будет выполняться. Далее, на рисунке слева показана кривая NURBS 2 степени с n = 2, m = 5 и фиксированными тремя первыми и последними узлами. Весы контр. точек на обоих концах равны 1, а вес средней контр. точки равен 0.5. Получается эллиптическая дуга. Отрезок кривой лежит в огранич. многоугольнике.
На среднем рисунке вес средней точки равен нулю. Так как эта контр. точка не имеет эффекта, то результат - это отрезок прямой с концами в крайних точках. Он также лежит внутри огранич. многоугольника.
Если вес сделать равным -0.5, отрезок кривой не будет лежать внутри огранич. многоугольника, поэтому свойство не будет выполняться.
Схема Локального Изменения: измененние положения контр. точки pi влияет на кривую p(u) только на интервале [ui, ui+p+1) Это следует из свойства локального изменения базисных функций кривых B-spline. Вспомните, что Ri,p(u) не равно нулю на интервале [ui, ui+p+1). Если u не лежит на этом интервале, так как Ri,p(u) равно нулю и Ri,p(u)pi не влияет на вычисление p(u). С другой стороны, если u находится в указанном интервале, Ri,p(u) не равно нулю и, если Ri,p(u)pi изменить, то изменится и p(u).
Эта схема локального изменения очень важна для разработки кривых, потому что мы можем менять кривую локально, без изменения формы кривой в целом. Более того, если нужно точное изменение кривой, можно ввести побольше узлов (а значит, и контр. точек) так, чтобы нужная область сжалась до более узкой. Мы поговорим о введении узлов позже.
p(u) является Cp-k-непрерывной в узле с множественностью k Если u не является узлом, то p(u) лежит в середине криволинейного отрезка степени p и поэтому является бесконечно дифференцируемой. Если u - это узел в ненулевой области определения Ri,p(u), то из-за того, что Ri,p(u) только Cp-k-непрерывна, то то же самое и с p(u).
Свойство Уменьшения Изменчивости : Свойство уменьшения изменчивости также подходит для кривых NURBS. Если кривая находится в плоскости (соотв., в пространстве), то это значит, что не существует прямой, (соотв., плоскости), пересекающей эту кривую в большем количестве мест, чем ее контр. ломаную.
Кривые B-spline и Кривые Безье - это Особые Случаи Кривых NURBS. Если все весы равны, кривая NURBS становится кривой B-spline. Если к тому же n = p (т.e. степень кривой B-spline равна n, количество контр. точек минус 1) и всего 2(p + 1) = 2(n + 1) узлов, p + 1 из которых фиксированы на обоих концах, то эта кривая NURBS вырождается в кривую Безье.
Проекционная Инвариантность [Invariance] Если к кривой NURBS применяются проекционные преобразования, то результат можно получить из проекционных преобразований контр. точек. Это полезное свойство. В общем, почти то же самое, что и в случае с кривыми B-spline и Безье.
Заметьте, что кривые Безье и B-spline удовлетворяют только свойству инвариантности преобразований подобия в отличие от проекционных преобразований. Это из-за того, что только кривые NURBS поддерживают проекционные преобразования.