- •Параметрические Кривые: Обзор
- •Примеры
- •Касательный Вектор и Касательная
- •Примеры
- •Нормальный Вектор и Кривизна
- •Кривизна
- •Еще примеры
- •Почему Направляющая Тройка Важна?
- •Вопросы Непрерывности
- •Проблемы с Параметрическим Представлением
- •Параметризация По Длине Дуги
- •Геометрическая Непрерывность
- •Рациональные Кривые
- •Рациональные Формы Стандартных Кривых
- •Теоремы Объединения [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 6 степени с 17 узлами, из которых 7 первых и 7 последних фиксированы в конечных точках, а средние узлы - это 0.25, 0.5 and 0.75. Начальная кривая показана слева. Если узел 0.25 переместить в 0.1, форма кривой изменится и исходная p(0.25) сместится назад, в новое положение. Если узел 0.5 сместить в 0.1, чтобы сделать узел 0.1 двойным узлом (множественности 2), форма кривой сместится влево; но p(0.1) сместится вверх, в положение рядом с исходной точкой (т.e. исходной p(0.25) ). Результат показан на рисунке справа. Более того, хоть у нас и есть двойной угол в 0.1, а третий узел в 0.75, которые неравномерно делят область [0,1] на три узловых интервала, кривая B-spline более или менее равномерно делится соответствующими им точками.
Как бы то ни было, практический опыт показывает, что изменение положений узлов не является ни предсказуемым, ни удовлетворительным. Говоря точнее, из-за того, что непонятно, как кривая B-spline отреагирует на изменение узлового вектора, изменение формы кривой при помощи изменения узлов обычно невыгодно и сложно.
Замечание о Множественных Узлах
Множественные узлы могут помочь достичь желаемого результата. Вспомним из свойства множественных узлов, обсуждавшегося ранее, что увеличение множественности внутреннего узла уменьшает количество ненулевых базисных функций в этом узле. Фактически, если множественность узла равна k, то в нем существует самое большее p - k + 1 ненулевых функций. Более того, базисные функции Cp-k-непрерывныв этом узле.
Если взять узел множественности p-k, то в нем будет k+1 ненулевых базисных функций и, отсюда, соответствующая точка на кривой будет лежать внутри огранич. многоугольника для точек, соответствующим этим ненулевым функциям. Если k = p - 1, то имеется две ненулевые функции, а соответствующий огранич. многоугольник является отрезком прямой.
Если k = p, то только одна базисная функция является ненулевой в этом узле и поэтому только одна контр. точка имеет ненулевой коэффициент. В итоге кривая проходит через эту точку!
На первом рисунке выше, который показывает кривую B-spline 5 степени, узел, соответствующий точке деления кривой (обозначено треугольником), смещается в предыдущий узел, делая его множественности 2. Результат показан на втором рисунке, хоть на нем не видно различий. Затем, следующий узел (помечен прямоугольником) перемещается в конечную точку (помечена эллипсом), получается узел множественности 3. Это третий рисунок. Результирующая кривая приближается к сегменту контрольной ломаной. Смещая еще один узел, получим узел множественности 4. Это заставляет соответствующую точку (помечена эллипсом) лежать на сегменте ломаной. Наконец, совмещаем оставшиеся узлы в один. Так как у него множественность равна 5, а p=5, то будет только один ненулевой коэффициент, и поэтому кривая будет проходить через эту контрольную точку. Как показано на пятом рисунке, эта контрольная точка - это p5.
