Читайте также: |
|
Раасмотрим пристальнее влияние изменения веса выбранной контр. точки. Давайте вернемся к определению кривой NURBS:
Выберем контр. точку pk и исследуем влияние изменения wk. Так как pk может влиять на кривую p(u) только на ненулевой области ее коэффициента Nk,p(u) (т.e. [uk, uk+p+1)), то далее примем, что u лежит на [uk, uk+p+1).
Вынесем члены с wk из суммирования, получим:
Так как это уравнение довольно сложное, упростим его следующим способом:
Теперь уравнение стало таким легкочитаемым:
Сначала возьмем случай wk = 0. Имеем A = 0, и точка на кривой, обозначается как p0(u), равна
Теперь давайте вычислим вектор из этой "базисной" точки p0(u) в соответствующую ей точку p(u) для произвольного wk. После простых преобразований имеем следующее:
Что это значит? Это значит, что вектор p(u)-p0(u) и вектор pk-p0(u) имеют одно направление, а длина первого в A/(A+B) больше, чем длина последнего для каждого u на [uk, uk+p+1)! Так как точки pk и p0(u) фиксированы, то можно сказать, что p(u) лежит на прямой от pk до p0(u). Более того, если все весы неотрицательны, то и A, и B неотрицательны и значение A/(A+B) лежит между 0 и 1! То есть, точка p(u) лежит на отрезке между pk и p0(u).
Что, если wk достигает бесконечности? Давайте поделим числитель и знаменателm кривой p(u) на wk, как показано ниже.
Если wk уходит в бесконечность, 1/wk становится нулем. Отсюда, если wk достигает бесконечности, то p(u) достигает pk, выбранной контр. точки. Вот итог сказанного:
Если wk неотрицательно, то p(u) всегда лежит на отрезке между p0(u) и pk, где p0(u) - это точка, соответствующая wk = 0, а u лежит на [uk, uk+p+1). Более того, когда wk изменяется от 0 до бесконечности, p(u) двигается от p0(u) к pk, а если wk - бесконечность, то p(u) становится pk. |
Следующий рисунок иллюстрирует этот результат. Имеем кривую NURBS 6 степени, определенную по 9 контр. точкам (n = 8) и 16 узлам (m = 15), как показано ниже.
u0 = u1 = u2 = u3 = u4 = u5 = u6 | u7 | u8 | u9 = u10 = u11 = u12 = u13 = u14 = u15 |
1/3 | 2/3 |
Выбранная контр. точка - это p4. Так как коэффициент при p4, N4,6(u), не рваен нулю на [u4, u4+6+1) = [0,1), то изменение w4 влияет на кривую целиком!
Точки, соответствующие u = 1/3 и u = 2/3 обозначены на кривой разными цветами. Кривая, соответствующая w4 = 0 - самая нижняя, обозначена 0. Риснуок показывает кривые для w4, равного 2, 3, 4, 5, 10, 20 и 50. При увеличении значения w4 кривая пододвигается ближе к контр. точке p4. Когда w4 увеличивается до 50, кривая становится очень близко к p4. Пожалуйста, заметьте, что все точки, соовтетствующие p(1/3) находятся на отрезке прямой между точками p0(1/3) и p4, а все точки, соответствующие p(2/3) - на отрезке прямой между p0(2/3) и p4. Также заметьте, что отрезок кривой между точками p(1/3) и p(2/3) становится короче при увеличении значения w4. В конце концов длина этого криволинейного отрезка становится равной нулю (т.e. p(1/3) и p(2/3) становится равно p4), когда w4 равно бесконечности. Можете ли вы обобщить это наблюдение?
Дата добавления: 2015-10-29; просмотров: 157 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
NURBS: Изменение Весов | | | Введение Одиночного Узла |