- •Параметрические Кривые: Обзор
- •Примеры
- •Касательный Вектор и Касательная
- •Примеры
- •Нормальный Вектор и Кривизна
- •Кривизна
- •Еще примеры
- •Почему Направляющая Тройка Важна?
- •Вопросы Непрерывности
- •Проблемы с Параметрическим Представлением
- •Параметризация По Длине Дуги
- •Геометрическая Непрерывность
- •Рациональные Кривые
- •Рациональные Формы Стандартных Кривых
- •Теоремы Объединения [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]
- •Метод Длины Хорды
- •Центростремительный Метод
- •Получение Узлового Вектора
- •Универсальный Метод
- •Параметры и Узловые Векторы для Поверхностей
- •Глобальная Интерполяция Кривых
- •Нахождение Решения
- •Алгоритм
- •Влияние Параметров и Узлов
- •Влияние Степени
- •Почему Этот метод Назывется Глобальным?
- •Глобальная Аппроксимация Кривых
- •Значение Наименьшей Площади
- •Поиск Решения
- •Алгоритм
- •Влияние Степени и Количества Контрольных Точек
- •Почему Этот Метод Глобальный?
- •Глобальная Интерполяция Поверхностей
- •Поиск Решения
- •Почему Этот Метод Глобальный?
- •Глобальная Аппроксимация Поверхностей
- •Поиск Решения
- •Усовершенствование Алгоритма
- •Простое Сравнение
Параметрические Кривые: Обзор
Каждая грань ограничена ребрами, которые могут быть отрезками прямых или кривых, а грань сама по себе - частью поверхности (т.e. элемента поверхности). В этом разделе мы поговорим об основных понятиях криволинейных отрезков в параметрической форме.
параметрическая кривая в пространстве имеет следующий вид:
f: [0,1] -> ( f(u), g(u), h(u) ),
где f(), g() и h() - это три функции с дробными значениями, сопоставляющие дробному числу u на отрезке [0,1] точку в пространстве. Областью значений этих функций и векторной функции f() не обязательно будет [0,1]. Это может быть любой закрытый интервал; но, для простоты, ограничимся отрезком [0,1]. Таким образом, каждому u на отрезке [0,1], соответствует точка ( f(u), g(u), h(u) ) в пространстве.
Здесь и далее, функции f(), g() и h() - всегда многочлены.
Заметьте, что если функцию h() удалить из определения f(), у f() остается две составляющих и получается кривая на плоскости.
Примеры
Векторное уравнение прямой такое: B+td, где B - это базовая точка, а d - это направляющий вектор. Таким образом, если f() определяется как
f(u) = b1 + ud1 g(u) = b2 + ud2 h(u) = b3 + ud3,
где B = < b1, b2, b3 > и d = < d1, d2, d3 >, и f() - это параметрическая кривая, сопоставляющая [0,1] с отрезком прямой от B до B+d, включительно.
Окружность имеет следующее уравнение не в виде многочлена:
x(u) = rcos(2*PI*u) + p y(u) = rsin(2*PI*u) + q
Ее центр - (p, q), радиус r. Так как параметр u в пределах [0,1], значение 2*PI*u находится в пределах [0,2*PI] (т.e. от 0 до 360 градусов).
Исключим u. Сначала изменим уравнения. Для удобства выбросим (u) из x(u) и y(u).
x - p = rcos(2*PI*u) y - q = rsin(2*PI*u)
Затем, возводя оба уравнения в квадрат и складывая, получаем:
(x - p)2 + (y - q)2 = r2
Таким образом, эта параметрическая форма описывает окружность.
Кубическая кривая в пространстве имеет следующий вид:
f(u) = u g(u) = u2 h(u) = u3
Следующий рисунок показывает эту кривую в пределах [-1,1]. Она содержится в прямоугольном параллелепипеде между точками ( -1, 0, -1 ) и (1, 1, 1)
Круговая спираль описывается так:
f(u) = ( acos(u), asin(u), bu )
Рисунок ниже показывает эту кривую на отрезке [0, 4*PI]. Начальная точка - (a, 0, 0), а конечная - (a, 0, b). Заметьте, что кривая лежит на цилиндре радиуса a с центральной осью z.
Касательный Вектор и Касательная
Здесь точка X фиксированная, а P- движущаяся. По мере приближения P к X, вектор от X к P приближается к касательному вектору к кривой в точке X. Прямая, на которой этот вектор лежит - это касательная.
Вычислить касателный вектор легко. Производная кривой f(u) имеет вид:
f'(u) = ( f'(u), g'(u), h'(u) ),
где f'(u) = df/du, g'(u) = dg/du, а h'(u) = dh/du.
Вообще, длина кас. вектора f'(u) не равна 1, нужна нормализация. То есть, единичный вектор при значении параметра u, или в точке f(u), равен
f'(u) / | f'(u) | ,
где | x | - это длина (модуль) x. Касательная к f(u) - это либо
f(u) + tf'(u),
или, если использовать единичный вектор,
f(u) + t(f'(u)/|f'(u)|) ,
где t это параметр. Заметьте, в этом случае u фиксировано.