- •Параметрические Кривые: Обзор
- •Примеры
- •Касательный Вектор и Касательная
- •Примеры
- •Нормальный Вектор и Кривизна
- •Кривизна
- •Еще примеры
- •Почему Направляющая Тройка Важна?
- •Вопросы Непрерывности
- •Проблемы с Параметрическим Представлением
- •Параметризация По Длине Дуги
- •Геометрическая Непрерывность
- •Рациональные Кривые
- •Рациональные Формы Стандартных Кривых
- •Теоремы Объединения [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]
- •Метод Длины Хорды
- •Центростремительный Метод
- •Получение Узлового Вектора
- •Универсальный Метод
- •Параметры и Узловые Векторы для Поверхностей
- •Глобальная Интерполяция Кривых
- •Нахождение Решения
- •Алгоритм
- •Влияние Параметров и Узлов
- •Влияние Степени
- •Почему Этот метод Назывется Глобальным?
- •Глобальная Аппроксимация Кривых
- •Значение Наименьшей Площади
- •Поиск Решения
- •Алгоритм
- •Влияние Степени и Количества Контрольных Точек
- •Почему Этот Метод Глобальный?
- •Глобальная Интерполяция Поверхностей
- •Поиск Решения
- •Почему Этот Метод Глобальный?
- •Глобальная Аппроксимация Поверхностей
- •Поиск Решения
- •Усовершенствование Алгоритма
- •Простое Сравнение
Два Важных Замечания
Так как Ni,1(u) вычисляется из Ni,0(u) и Ni+1,0(u), и так как Ni,0(u) и Ni+1,0(u) не равны нулю на интервале [ui, ui+1) и [ui+1, ui+2) соответственно, Ni,1(u) не равны нулю на двух этих интервалах. Другими словами, Ni,1(u) не равно нулю на [ui, ui+2). Аналогично, так как Ni,2(u) зависит от Ni,1(u) и Ni+1,1(u), и так как две эти базисные функции не равны нулю на [ui, ui+2) и [ui+1, ui+3) соответственно, Ni,2(u) не равно нулю на [ui, ui+3). В общем случае, чтобы определить ненулевую область базисной функции Ni,p(u), можно пройти обратно по треугольной схеме, пока не дойдем до первого столбца. Окруженные [?covered - закрытые?] интервалы являются ненулевой областью этой базисной функции. Например, допустим, нам нужно найти ненулевую область для N1,3(u). Основываясь на вышеизложенном, мы можем вернуться в направлениях влево вверх и влево вниз до первого столбца, как показано синей точечной линией на следующей диаграмме. Таким образом, N1,3(u) не равно нулю на [u1, u2), [u2, u3), [u3, u4) и [u4, u5). Или, что идентично, это не равно нулю на [u1, u5).
В итоге имеем следующее замечание:
Базисная функция Ni,p(u) не равна нулю на [ui, ui+p+1). Или, что идентично, Ni,p(u) не равно нулю на p+1 узловых промежутках [ui, ui+1), [ui+1, ui+2), ..., [ui+p, ui+p+1).
Далее мы рассмотрим обратное направление. Дан узловой интервал [ui, ui+1), нам нужно знать, для вычисления каких базисных функций он нужен. Мы можем начать с этого узлового интервала и провести стрелки в направлениях вверх-вправо и вниз-вправо. Все базисные функции, заключенные в этой клинообразной области, используют Ni,0(u) (почему?) и, следовательно, не равны нулю на этом интервале. Таким образом, все базисные функции степени p, ненулевые на [ui, ui+1), являются пересечением этого клина и столбца, содержащего все Ni,p(u). Фактически, этот столбец и две стрелки образуют равносторонний треугольник, у которого вертикальная сторона - это и есть этот столбец. Считая от Ni,0(u) до Ni,p(u) получим p+1 столбцов. Таким образом, вертикальная сторона равностороннего треугольника должна иметь максимум p+1 элементов, а именно Ni,p(u), Ni-1,p(u), Ni-2,p(u), ..., Ni-p+2,p(u), Ni-p+1,p(u) и Ni-p,p(u).
Взгляните на диаграмму выше. Чтобы найти базисные функции 3 степени, которые не равны нулю на [u4, u5), проведем две стрелки и получим на вертикальных сторонах искомое. В этом случае это N1,3(u), N2,3(u), N3,3(u), и N4,3(u). Это показано оранжевым треугольником Синий (соотв., красный) треугольник показывает базисные функции 3 степени, являющиеся ненулевыми на [u3, u4) (соотв., на [u2, u3) ). Заметьте, здесь только три базисных многочлена третьей степени, не равных нулю на [u2, u3).
В итоге мы рассмотрели следующее свойство.
На любом узловом интервале [ui, ui+1), самое большее p+1 базисных функций p степени не равны нулю, а именно: Ni-p,p(u), Ni-p+1,p(u), Ni-p+2,p(u), ..., Ni-1,p(u) и Ni,p(u),
Какое Значение Имеют Коэффициенты?
Наконец, давайте рассмотрим значение коэффициентов в определении Ni,p(u). Когда Ni,p(u) будет подсчитано, пригодятся Ni,p-1(u) и Ni+1,p-1(u). Последнее не равно нулю на [ui, ui+p). Если u находится в полуоткрытом интервале, то u - ui - это расстояние между u и левым краем этого интервала, длина интервала равна ui+p - ui, и (u - ui) / (ui+p - ui) - это отношение вышеуказанных расстояний и всегда в пределах от 0 до 1. Посмотрите на диаграмму ниже. Второй член, Ni,p-1(u), не равен нулю на [ui+1, ui+p+1). Если u находится в этом интервале, то ui+p+1 - u - это расстояние от u до правого края этого интервала, ui+p+1 - ui+1 - это длина интервала, а (ui+p+1 - u) / (ui+p+1 - ui+1)- это отношение этих двух расстояний и его значение в пределах от 0 до 1. Таким образом, Ni,p(u) - это линейная комбинация Ni,p-1(u) и Ni+1,p-1(u) с двумя коэффициентами, оба которых являются линейно зависящими от u, в пределах от 0 до 1.