- •Параметрические Кривые: Обзор
- •Примеры
- •Касательный Вектор и Касательная
- •Примеры
- •Нормальный Вектор и Кривизна
- •Кривизна
- •Еще примеры
- •Почему Направляющая Тройка Важна?
- •Вопросы Непрерывности
- •Проблемы с Параметрическим Представлением
- •Параметризация По Длине Дуги
- •Геометрическая Непрерывность
- •Рациональные Кривые
- •Рациональные Формы Стандартных Кривых
- •Теоремы Объединения [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]
- •Метод Длины Хорды
- •Центростремительный Метод
- •Получение Узлового Вектора
- •Универсальный Метод
- •Параметры и Узловые Векторы для Поверхностей
- •Глобальная Интерполяция Кривых
- •Нахождение Решения
- •Алгоритм
- •Влияние Параметров и Узлов
- •Влияние Степени
- •Почему Этот метод Назывется Глобальным?
- •Глобальная Аппроксимация Кривых
- •Значение Наименьшей Площади
- •Поиск Решения
- •Алгоритм
- •Влияние Степени и Количества Контрольных Точек
- •Почему Этот Метод Глобальный?
- •Глобальная Интерполяция Поверхностей
- •Поиск Решения
- •Почему Этот Метод Глобальный?
- •Глобальная Аппроксимация Поверхностей
- •Поиск Решения
- •Усовершенствование Алгоритма
- •Простое Сравнение
Что, если область u не [0.1]?
Иногда областью может быть [a,b], а не [0,1]. Поэтому нужна замена переменной - просто преобразуем u на [a,b] в новую u на [0,1] и используем эту u в коэффициентах Безье. Преобразовать u к [0,1] можно так:
Подставляя это u в коэффициенты Безье Bn,i(u), имеем:
Эти новые коэффициенты Безье описывают кривую на области [a,b]. Позже это окажется полезным.
Краткий Итог
В итоге, чтобы описать кривую Безье степени n, нужно выбрать n + 1 контрольных точек в пространстве, грубо описывающих форму нужной нам кривой. Далее, если форма кривой недостаточно соответствует нужной нам, можно перемещать контрольные точки. Когда перемещается одна или несколько точек, соответственно изменяется форма кривой. Но кривая всегда лежит внутри ограничивающего многоугольника контрольных точек(св-во огр. многоугольника), а форма полученной кривой менее сложна, чем у ее контрольной ломаной(св-во уменьшения изменчивости).
Перемещение Контрольных Точек
Изменение положения контрольной точки изменит форму кривой Безье. Спрашивается:
Как изменится форма кривой, если контрольную точку переместить в новое положение? |
Допустим, контр. точка Pk перешла в новое положение Pk + v, где вектор v определяет как направление, так и длину перемещения. Это показано на рисунке:
Пусть новой кривой Безье будет C(u), а оригинальная кривая будет описываться как
Подставляя Pk + v в уравнение кривой Безье C(u) получаем следующее:
Выше, так как только k-ый член описывает отличную от остаьлных контрольную точку Pk + v, после перегруппировки получаем, что новая кривая - это сумма исходной кривой и дополнительного члена Bn,k(u)v. Это значит:
соответствующая u точка на новой кривой получается переносом соответствующей точки на исходной кривой на вектор Bn,k(u)v. |
Более точно, дано u, имеем точку p(u) на исходной кривой и C(u) на новой кривой, C(u) = p(u) + Bn,k(u)v. Так как v указывает направление движения, C(u) - это результат перемещения p(u) в том же направлении. Длина переноса, конечно, - это длина вектора Bn,k(u)v.
Следующий рисунок поясняет этот эффект. И черная, и красная линии - кривые Безье 8 степени, построенные по 9 контрольным точкам. Черная кривая - исходная. Если ее контроьлную точку 3 переместить по вектору, показанному фиолетовым, черная кривая перейдет в красную. На каждой из этих двух кривых есть точка, соответствующая u=0.5. Ясно, что p(0.5) перемещается в том же направлении к C(0.5). Расстояние между p(0.5) и C(0.5) - длина вектора B(0.5)v = 8!/(3!(8-3)!)×0.53(1-0.5)8-3v = 0.22v. Отсюда, расстояние равно примерно 22% расстояния между исходным положенем контр. точки 3 и ее новым положением, как показано на рисунке ниже.
Из сказанного можно сделать еще одно полезное заключение. Так как Bn,k(u) не равно 0 на открытом интервале (0,1), Bn,k(u)v - ненулевой вектор на (0,1). Это значит, что помимо двух конечных точек p(0) и p(1), все точки исходной кривой переместятся в новые положения. Таким образом,
Изменение положения контрольной точки полностью изменяет форму кривой Безье. |