Заметим, что если все веса одинаковы, то знаменатель уравнения (11.69) превращается в константу (почему?), вследствие чего эта форма сводится к уже знакомому нам В-сплайну из уравнения (11.57). Таким образом, уравнение (11.69) является расширением уравнения (11.57) и отличается от него только при неодинаковых весах.

Полезно понять, откуда берутся эти стыковочные функции. В соответствии с условиями упражнения 11.9.3 (см. ниже), перейдем к однородным координатам и придадим k-й контрольной точке вес wk. Возвращаясь к обычным координатам, получим NURBS-кривую. Желаемые свойства NURBS-кривых достигаются посредством взвешивания точек в пространстве с большим числом измерений.

Создание кривых и поверхностей

Два основных преимущества NURBS-кривых

Преимущество NURBS-кривых состоит в том, что при правильном выборе контрольных точек и весов функция P(t) является в точности коническим сечением (см. пример 11,9.2). Эта особенность качественно отличает NURBS-кривые от нерациональных В-сплайн кривых, которые способны только приближаться к истинным коническим сечениям.

Второе преимущество заключается в том, что NURBS-кривые инвариантны относительно так называемых проективных преобразований (projective transformations). Эти преобразования аналогичны перспективным преобразованиям, рассмотренным в главе 7, которые обеспечивают перспективную проекцию сцены. Проективные преобразования являются обобщением аффинных преобразований. В матрице аффинного преобразования четвертая строка имеет вид (0,0,0,1), в то время как четвертая строка проективного преобразования может иметь более общий вид. Напомним, что нормальные В-сплайн кривые являются инвариантными только относительно аффинных преобразований, поэтому NURBS-кривые инвариантны по отношению к более широкому классу преобразований.

Среди прочего, такая инвариантность означает, что для того, чтобы нарисовать перспективную проекцию NURBS-кривой, достаточно просто найти перспективную проекцию каждой ее контрольной точки и затем сгенерировать на их базе кривую по тому же самому алгоритму, заданному уравнением (11.68). (Веса также должны быть скорректированы.) Такой метод намного эффективнее, чем нахождение перспективной проекции «каждой» точки кривой в отдельности. В противоположность этому нерациональные В-сплайн кривые инвариантны относительно аффинных преобразований, но не относительно проективных.


⇐ Предыдущая| |Следующая ⇒