Читайте также:
|
|
Дана последовательность n +1 контр. точек p 0, p 1,..., p n, узловой вектор из m +1 узлов U = { u 0, u 1,..., um } и степень p, нам нужно ввести новый узел t в узловой вектор без изменения формы кривой B-spline.
Пусть новый узел t лежит на узловом интервале [ uk, uk +1). Из свойства сильного огранич. многоугольника p (t) лежит в огранич. многоугольнике контр. точек p k, p k -1,..., p k-p, а все остальные базисные функции равны нулю. Отсюда, расчет введения узла можно ограничить контр. точками p k, p k -1,..., p k-p. Способ введения t - это нахождение p новых контр. точек q k на сегменте p k -1 p k, q k -1 на сегменте p k -2 p k -1,..., и q k-p +1 на сегменте p k-p p k-p +1, чтобы старая ломаная от p k-p до p k (показана черным) заменилась на p k-p q k-p +1... q k p k (показана оранжевым) путем отсечения углов в вершинах p k-p +1,..., p k -1. Все остальные контр. точки остаются без изменений. Заметьте, что p -1 контр. точек исходной ломаной удаляются и змаеняются на p новых контр. точек.
К счастью, положения новых контр. точек q i легко рассчитать. Формула для вычисления новой контр. точки q i на сегменте p i -1 p i следующая:
,
где отношение ai определяется так:
В итоге, чтобы ввести новый узел t, мы сначала находим узловой интервал [ uk, uk +1), на котором лежит этот новый узел. С найденным k можно найти p новых контр. точек q k-p +1,..., q k по вышеуказанной формуле. В конце концов, исходная ломаная от p k-p до p k заменяется на новую, построенную по точкам p k-p, q k-p +1, q k-p +2,..., q k -1, q k и p k. Заметьте, что после введения нового узла узловой вектор становится равен u 0, u 1,..., uk, t, uk +1,..., и um. Если новый узел t равен uk, то множественность uk увеличивается на единицу.
Вышеуказанную схему вычислений можно проиллюстрировать с помощью следующей диаграммы. Сначала переписываем все зависимые точки в столбец слева. Затем рассчитанные новые контр. точки пишем во второй столбец. Заметьте, их количество меньше на единицу. Для вычисления новой контр. точки q i, где k-p +1 <= i <= k, нужно две исходных точки p i -1 и p i с коэффициентами 1- ai и ai, соответственно. После вычисления мы будем использовать точки, окруженные синей точечной линией, чтобы заменить те, которые вне области. Все не зависмиые от этого точки сохраняются. Таким образом, исходная последовательность точек p k-p, p k-p +1,..., p k -1, p k заменяется на p k-p, q k-p +1,..., q k -1, p k.
Посмотрим на геометрическую интерпретацию ai. Из определения ai - это отношение, в котором разделен интервал [ ui, u i+p) значением t, как показано ниже:
Есть k значений ai, каждое из которых покрывает p узловых интервалов (т.e. [ ui, u i+p)). Если соединить эти интервалы вместе и выровнять [align at] в значении t, получим следующую диаграмму:
Таким образом, положение t делит узловые интервалы [ uk, uk+p), [ uk -1, uk+p -1),..., [ uk-p +1, uk +1) в отношениях ak, ak -1,..., ak-p +1, которые, в свою очередь, дают те же отношения в делении сегментов p k p k -1, p k -1 p k -2,... p k-p p k-p +1.
Дата добавления: 2015-10-29; просмотров: 114 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Углубленное Рассуждение | | | Пример 2: Введение Узла в Существующем Простом Узле |