- •Параметрические Кривые: Обзор
- •Примеры
- •Касательный Вектор и Касательная
- •Примеры
- •Нормальный Вектор и Кривизна
- •Кривизна
- •Еще примеры
- •Почему Направляющая Тройка Важна?
- •Вопросы Непрерывности
- •Проблемы с Параметрическим Представлением
- •Параметризация По Длине Дуги
- •Геометрическая Непрерывность
- •Рациональные Кривые
- •Рациональные Формы Стандартных Кривых
- •Теоремы Объединения [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]
- •Метод Длины Хорды
- •Центростремительный Метод
- •Получение Узлового Вектора
- •Универсальный Метод
- •Параметры и Узловые Векторы для Поверхностей
- •Глобальная Интерполяция Кривых
- •Нахождение Решения
- •Алгоритм
- •Влияние Параметров и Узлов
- •Влияние Степени
- •Почему Этот метод Назывется Глобальным?
- •Глобальная Аппроксимация Кривых
- •Значение Наименьшей Площади
- •Поиск Решения
- •Алгоритм
- •Влияние Степени и Количества Контрольных Точек
- •Почему Этот Метод Глобальный?
- •Глобальная Интерполяция Поверхностей
- •Поиск Решения
- •Почему Этот Метод Глобальный?
- •Глобальная Аппроксимация Поверхностей
- •Поиск Решения
- •Усовершенствование Алгоритма
- •Простое Сравнение
Выбор Параметров : Обзор [Parameter Selection Overview]
Входными данными для алгоритма интерполяции/аппроксимации B-spline обычно является набор точек. Таким образом, первый шаг заключается в том, чтобы найти набор параметров, который бы "фиксировал" эти точки в определенных значениях. Говоря точнее, если данные точки - это d0, ..., dn, то нужно найти n+1 параметров t0, ..., tn на области определения кривой, чтобы данная точка dk соответствовала параметру tk для k между 0 и n. Это значит, что, если p(u) - это кривая, проходящая через все данные точки в определенном порядке, то имеем dk = p(tk) для всех 0 <= k <= n. На рисунке ниже, семь исходных точек (т.e. n = 6) и семь параметров, которые нужно найти, чтобы получить искомое.
Есть бесконечное количество вариантов выбора этих параметров. Например, можно разделить пополам область кривой или случайным образом выбрать n+1 значений на области. Тем не менее, плохо выбранные параметры могут привести к неожиданным результатам. Следующий рисунок показывает четыре исходных точки и три интерполированных кривых, каждая из которых получена по своему набору параметров. Одна из них сильно выгибается наружу и получается ненужная выпуклость. Только одна из них достаточно точно следует по направлению исходных точек.
Таким образом, выбор параметров влияет на форму кривой, и, как следствие, влияет на параметризацию кривой.
На нескольких следующих страницах мы обсудим несколько методов выбора параметров, включая Метод Равномерного Распределения [Uniformly Spaced Method], Метод Длины Хорды [Chord Length Method] и Центростремительный Метод [Centripetal Method]. Получив набор параметров, нужно вычислить узловой вектор. Подробности смотрите в Получение Узлового Вектора [Knot Vector Generation] Также обсудим Универсальный Метод [Universal Method], в котором выбирается равномерно разделенный узловой вектор и затем с его помощью находятся параметры Пожалуйста, имейте в виду, что есть еще и другие методы выбора параметров.
Метод Равномерного Распределения
Самым простым методом выбора параметров является метод равномерного распределения. Пусть область, как обычно, будет [0,1] и нужно n+1 равномерно распределенных параметров. Первый и последний параметры должны быть равны 0 и 1, так как мы хотим, чтобы кривая проходила через первую и последнюю исходные точки. Таким образом, имеем t0 = 0 и tn = 1.
Так как n+1 точек равномерно делят интервал [0,1] на n подинтервалов, длина каждого из которых должна быть равна 1/n, то делящие точки - это 0, 1/n, 2/n, 3/n, ..., (n-1)/n и 1. Таким образом, имеем
Например, если нужны 5 параметров, то n = 4 и равномерно распределенные параметры равны 0, 1/4, 1/2, 3/4 and 1. Если нужны 8 параметров, то n = 7 и равномерно распределенные параметры равны 0, 1/7, 2/7, 3/7, 4/7, 5/7, 6/7 и 1.
А что, если область, например, [a,b], а не [0,1]? В этом случае [a,b] делится на n интервалов n+1 делящими точками, включая a и b. Так как длина этого интервала равна b - a, то длина подинтервала равна (b-a)/n. Следовательно, делящие точки (т.e. параметры) - это
Из-за того, что метод равномерного распределения прост, он иногда дает неудовлетворителные результаты. Например, когда иходные точки неравномерно распределены, равномерно распределенные параметры могут выдать репредсказуемые формы, например, большие выпуклости, острые пики или кольца. Ниже, на рисунке (а) показано кольцо в исходной точке 3. На рисунке (b) кривая виляет, проходя по исходным точкам 1, 2 и 3. Хоть и нельзя сказать, что эти проблемы есть только у данного метода, но в нем они встречаются гораздо чаще, чем в других методах.
|
|
(a) |
(b) |