- •Параметрические Кривые: Обзор
- •Примеры
- •Касательный Вектор и Касательная
- •Примеры
- •Нормальный Вектор и Кривизна
- •Кривизна
- •Еще примеры
- •Почему Направляющая Тройка Важна?
- •Вопросы Непрерывности
- •Проблемы с Параметрическим Представлением
- •Параметризация По Длине Дуги
- •Геометрическая Непрерывность
- •Рациональные Кривые
- •Рациональные Формы Стандартных Кривых
- •Теоремы Объединения [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 более сложны, чем кривые Безье, но их производные имеют очень похожую форму. Допустим, у нас есть кривая B-spline следующего вида:
Производные каждой из этих базисных функций можно вычислить так:
Подставляя эти производные обратно в уравнение кривой даст следующий результат:
,
где qi определяются так:
Таким образом, производная кривой B-spline - это другая кривая B-spline степени p - 1 с тем же узловым вектором с новым набором n контр. точек q0, q1, ..., qn-1.
Если исходный фиксированный узловой вектор равен u0(p+1), up+1, ..., um-p-1, um(p+1), то, удалив первый и последний узлы, так, чтобы у первого и последнего узлов множественность стала равна p, а не p+1, получим новую узловую последовательность m - 1 узла u0(p), up+1, ..., um-p-1, um(p). Затем, можно показать, что Ni+1,p-1(u) на исходном узловом векторе равно Ni,p-1(u) на новом. Таким образом, на новом узловом векторе производная кривой B-spline имеет следующий вид:
Далее слева - это кривая B-spline 5 степени. Ее производная кривая определяется, как кривая B-spline p-1 степени с n контр. точками, как показано в середине. Как и в кривых Безье, это - годограф исходной кривой. Ниже справа показан тот же годограф без контр. ломаной.
Фиксированные Кривые b-spline
Мы знаем, что фиксированная кривая B-spline проходит через первую и последнюю контр. точки. Фактически, она также касательна первому и последнему сегментам её контр. ломаной. Вспомним из вышеизложенного, что производная кривой B-spline p степени p(u) равна
,
чей узловой вектор получается из исходного отсечением первого и последнего узлов. Таким образом, множественность первого (и последнего, конечно) узла равна p, и, следовательно, вышеуказанная кривая B-spline p-1 степени является фиксированной. Так как фикс. кривая B-spline проходит через первую и последнюю контр. точки, имеем p'(0) = q0 и p'(1) = qn-1. Так как u0 = .... = up = 0 для i = 0, имеем
q0 = (p/up+1) (p1 - p0)
Отсюда, касательный вектор в p'(0) направлен в ту же сторону, что и вектор от p0 к p1 и p(u) касателен первому сегменту.
Рассуждая аналогично, можно показать следующее:
qn-1 = (p / (1 - um - p - 1)) (pn - pn-1)
Отсюда, p(u) касается первого сегмента. В итоге имеем следующий важный факт:
Фиксированная кривая B-spline проходит через первую и последнюю контр. точки и касательна первому и последнему сегментам контр. ломаной.
Производные Высших Порядков
Так как первая производная кривой B-spline - это тоже кривая B-spline, то, рекурсивно применяя эту формулу, можно без труда найти производные высших порядков.
Nurbs: Мотивация
Кривые B-spline - это полиномиальные кривые. И хоть они гибкие в разработке и имеют много полезных свойств, но они не способны описывать простейшую кривую - окружность. Как обсуждалось на странице о рациональных кривых, окружности можно представить рациональными функциями (т.e., функциями, являющимися частным двух многочленов). Чтобы справиться с окружностями, эллипсами и многими другими кривыми, которые нельзя представить с помощью многочленов, нам нужно расширить представление кривых B-spline.
Окружность - это кривая второго порядка. Посмотрим, как B-spline не могут ее описывать. Далее изображены четыре замкнутые кривые B-spline с 8-ю контр. точками. Степени (слева направо) равны: 2, 3, 5 и 10. Замкнутый B-spline 2 степени не выглядит похожим на окружность. Он скорее похож на скругленный квадрат. Кривая 3 степени уже выглядит получше. при увеличении степени "скругленность" кривой становится лучше. Замкнутая кривая 10 степени уже очень похожа на окружность; но все же это не окружность. Даже если принять, что эта кривая B-spline 10 степени - окружность, то все равно это очень невыгодно. Зачем нам представлять такую довольно простую кривую 2 степени, как окружность, в виде замкнутой кривой B-spline 10 степени?
Чтобы обратиться к этой проблеме, нам нужно обобщить B-spline к рациональным кривым используя [homogenenous] координаты. Таким образом получается название Non-Uniform Rational B-Splines, т.е. Неравномерные Рациональные кривые B-spline.