
- •Параметрические Кривые: Обзор
- •Примеры
- •Касательный Вектор и Касательная
- •Примеры
- •Нормальный Вектор и Кривизна
- •Кривизна
- •Еще примеры
- •Почему Направляющая Тройка Важна?
- •Вопросы Непрерывности
- •Проблемы с Параметрическим Представлением
- •Параметризация По Длине Дуги
- •Геометрическая Непрерывность
- •Рациональные Кривые
- •Рациональные Формы Стандартных Кривых
- •Теоремы Объединения [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]
- •Метод Длины Хорды
- •Центростремительный Метод
- •Получение Узлового Вектора
- •Универсальный Метод
- •Параметры и Узловые Векторы для Поверхностей
- •Глобальная Интерполяция Кривых
- •Нахождение Решения
- •Алгоритм
- •Влияние Параметров и Узлов
- •Влияние Степени
- •Почему Этот метод Назывется Глобальным?
- •Глобальная Аппроксимация Кривых
- •Значение Наименьшей Площади
- •Поиск Решения
- •Алгоритм
- •Влияние Степени и Количества Контрольных Точек
- •Почему Этот Метод Глобальный?
- •Глобальная Интерполяция Поверхностей
- •Поиск Решения
- •Почему Этот Метод Глобальный?
- •Глобальная Аппроксимация Поверхностей
- •Поиск Решения
- •Усовершенствование Алгоритма
- •Простое Сравнение
Примеры
Возьмем окружность f(u) = ( rcos(2*PI*u) + p, rsin(2*PI*u) + q ), где u в пределах от 0 до 1. Касательный вектор в точке u имеет вид:
f'(u) = ( -2*PI*rsin(2*PI*u), 2*PI*rcos(2*PI*u) ) ,
а касательная к f(u):
f(u) + tf'(u) = ( rcos(2*PI*u) + p, rsin(2*PI*u) + q ) + t ( -2*PI*rsin(2*PI*u), 2*PI*rcos(2*PI*u)
Возьмем кубическую кривую в пространстве: f(u) = ( u, u2, u3 ). Имеем кас. вектор f'(u) = ( 1, 2u, 3u2 ) и касательную f(u) + tf'(u) = ( u + t, u2 + 2tu, u3 + 3tu2 ), где t - это параметр.
Круговая спираль имеет след. уравнение:
f(u) = ( acos(u), asin(u), bu )
Ее касательный вектор:
f'(u) = ( -asin(u), acos(u), b )
и касательная:
f(u) + tf'(u) = ( a(cos(u) - tsin(u)), a(sin(u) + tcos(u)), b(t+u) )
Нормальный Вектор и Кривизна
Возьмем фиксированную точку f(u) и две движущихся P и Q на параметрической кривой. Три эти точки единственно определяют плоскость. По мере того, как P и Q движутся к f(u), эта плоскость приближается к какому-то определенному положению. Это касательная плоскость к f(u). Конечно, кас. плоскость к f(u) содержит и касательную прямую к этой кривой. Можно показать, что кас. плоскость - плоскость, проходящая через f(u) и содержащая как f'(u), так и f''(u). Говоря точнее, любая точка на этой плоскости имеет следующее уравнение, где p и q - параметры:
f(u) + pf'(u) + qf''(u)
Бинормальный вектор b(u) - это единичный вектор векторного произведения f'(u) и f''(u):
b(u) = (f'(u) × f''(u)) / | (f'(u) × f''(u)) |
То есть, бинормальный вектор b(u) перпендикулярен как f'(u), так и f''(u), а значит, и касательной плоскости. Прямая f(u)+tb(u) - это бинормальная прямая к f(u).
Нормальный вектор - перпендикулярен касательному и бинормальному векторам, и направлен по правилу правой руки. То есть, единичный нормальный вектор n(u) определяется как
n(u) = ( b(u) × f'(u) ) / | b(u) × f'(u) |
Прямая f(u)+tn(u) - это нормальная прямая к f(u). Таким образом, касательный вектор f'(u), нормальный вектор n(u) и бинормальный вектор b(u) образуют коорд. систему с началом координат в f(u). Касательная прямая, бинормальная прямая и нормальная прямая - это коорд. оси этой системы с положительными направлениями соответственно по направлениям касательного, бинормального и нормального векторов. Три эти вектора обычно называют направляющей триадой (тройкой?) [??? moving triad] или просто триадой в точке f(u). Направл. тройку также называют направляющим трехгранником. Вот рисунок, поясняющий их взаимное расположение. Заметьте, что касательный вектор, нормальный вектор и вектор f''(u) лежат на одной плоскости.
(Tangent - касательный.)
Пример
Вычмслим касательный, бинормальный и нормальный вектора для круговой спирали:
f(u) = ( acos(u), asin(u), bu )
Первая и вторая производные:
f'(u) = ( -asin(u), acos(u), b ) f''(u) = ( -acos(u), -asin(u), 0 )
Не-единичный бинормальный вектор - это векторное произведение f'(u) и f''(u), то есть:
b(u) = f'(u) × f''(u) = ( absin(u), -abcos(u), a2 )
Не-единичный нормальный вектор - это векторное произведение бинормального и касательного векторов, то есть:
n(u) = b(u) × f'(u) = ( -a(a2 + b2)cos(u), -a(a2 + b2)sin(u), 0 )
Сравнив n(u) и f''(u), видим, что они параллельны друг другу (т.e. их коэффициенты пропорциональны). В итоге, после нормализации всех участвующих векторов, векторы нормали и второй производной равны. Это показано на следующем рисунке. Вычисления для u = 1.