Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Соотношение Между Производной и Алгоритмом de Casteljau

Читайте также:
  1. Exersice II. Найдите соответствие между словосочетаниями в колонках А
  2. I Международный многожанровый фестиваль на острове Тасос (Греция)
  3. I. Стандарты Международного телекоммуникационного союза электросвязи - Сектор стандартизации (ITU-T)
  4. II. Поддержка и обеспечение взаимопомощи деятельности школ Международного Бакалавриата
  5. Japan Tobacco International (JTI) — международная табачная компания.
  6. R-cubed – новое соотношение риска и доходности
  7. R-cubed — новое соотношение риска и доходности

Перепишем производную кривой Безье, разбив последний член p i +1- p i на два:

Таким образом, производная кривой Безье - это разность двух кривых Безье степени n -1. Для простоты, пусть эти кривые будут C 1(u) и C 2(u):

Из этих определений получаем, что первая кривая C 1(u) описывается контрольными точками p 1, p 2,..., p n, а вторая кривая C 2(u) описывается контрольными точками p 0, p 1,..., p n -1. Производная равна:

Таким образом, теоретически, для того, чтобы вычислить производную p (u) для отдельного u, можно использовать алгоритм de Casteljau, чтобы вычислить C 1(u) и C 2(u). Затем, вычислив их разность и умножив на n, получим p '(u).

Теперь надо использовать алгоритм de Casteljau. Посмотрите на рисунок ниже. В левом столбце находятся все данные контрольные точки. Точка n0 дает точку p (u) на кривой, а отрезок, соединяющий (n-1)0 и (n-1)1 - это последняя ломаная в алгоритме de Casteljau. Фактически, n0 лежит на отрезке от (n-1)0 до (n-1)1, причем отношение расстояний между (n-1)0 и n0, и между (n-1)0 и (n-1)1 равно u.

Так как кривая C 1(u) описывается контрольными точками 01, 02,..., 0n, то, используя диаграмму (выше), можно видеть, что (n-1)1 - это точка на кривой C 1(u). Соответственно, так как C 2(u) описывается контрольными точками 00, 01,..., 0(n-1), видно, что (n-1)0 - это точка на кривой C 2(u). Таким образом, вектор C 1(u)- C 2(u) - это вектор от точки (n-1)0 до точки (n-1)1, а производная p (u) равна C 1(u)- C 2(u), умноженному на n.

Что из этого следует? Так как ломаная от (n-1)0 до (n-1)1 в алгоритме de Casteljau имеет то же направление, что и касательный вектор в точке p (u), она касательна кривой в p (u)! В итоге получаем, что

Последняя кривая, т.е. отрезок, в алгоритме de Casteljau, касательна кривой Безье в точке p(u).

Пример на следующем рисунке поясняет это. Показана точка, для которой u = 0.5. Видно, что последний отрезок в сети de Casteljau касателен кривой в p (0.5).

Производные Высших Порядков [Higher Derivatives]

Вычисление производных высших порядков кривых Безье - дело несложное. Вспомним, что производная p (u) - это

Применяя формулу производной к этой кривой Безье, получим следующее, т.е. вторую производную исходной кривой:

Найдя p '(u) и p ''(u), можно будет очень легко найти направляющую тройку веторов и кривизну в точке p (u). Производные высших порядков можно находить, рекурсивно применяя формулу производной.

Чтобы подробнее рассмотреть производные высших порядков, нужно ввести понятие конечной разности. Пусть конечная разность нулевого уровня D i 0 описывается контрольными точками P i для 0 <= i <= n. Затем, конечная разность первого уровня D i 1 - это разность между элементами предыдущего уровня, т.е. нулевого (D i 0):

Заметьте, что в разности первого уровня только n точек, на одну меньше, чем количество исходных контрольных точек. Еще точнее, первый уровень разности - это

Второй уровень разности описывается разностью точек первого уровня.

Второй уровень разности имеет n -1 точек. Повторяя эту процедуру, можно получить k -й уровень разности (см. ниже). В k -ом уровне разности n-k +1 точек.

С помощью такого обозначения можно описать производную довольно коротко. Прежде всего, перепишем p '(u) используя разности D i 1:

Вычисляя производную p '(u), чтобы получить p ''(u), получим формулу p ''(u) с участием D i 2:

Сделав то же самое с p ''(u), получим формулу p '''(u) через D i 3:

Продолжая в том же духе, можно получить k -ю производную p [ k ](u) через D i k:

Таким образом, чтобы вычислить k -ю производную p (u) для конкретного u, можно сначала вычислить разности D ik и применить алгоритм de Casteljau для нахождения точки, соответствующей u на кривой Безье, описываемой точками D ik. Говоря точнее, можно сгруппировать все D i 0 в нулевой столбец, назначить стрелкам знаки (вверх (красные) +, вниз (синие) -) для вычисления столбца 1 разностей D i 1. Повторяем эту операцию до тех пор, пока не дойдем до столбца k, как показано ниже:

В конце концов, применив алгоритм de Casteljau к точкам столбца k при данном u, получим вектор p [ k ](u)!


Дата добавления: 2015-10-29; просмотров: 150 | Нарушение авторских прав


Читайте в этой же книге: Нормальный Вектор и Кривизна | Почему Направляющая Тройка Важна? | Проблемы с Параметрическим Представлением | Параметризация По Длине Дуги | Рациональные Кривые | Рациональные Формы Стандартных Кривых | Построение Кривых Безье | Перемещение Контрольных Точек | Нахождение точки на Кривой Безье: Алгоритм De Casteljau's | Рекурсивное Представление |
<== предыдущая страница | следующая страница ==>
Объединение Двух Кривых Безье с соблюдением C1-Непрерывности| Разбиение Кривой Безье

mybiblioteka.su - 2015-2024 год. (0.007 сек.)