Поскольку каждая функция Rk(t) является кусочным полиномом, то вся кривая P(t) - это сумма кусочных полиномов с весами, определяемыми контрольными точками. Например, в каком-нибудь диапазоне эта кривая может иметь следующий вид:

Pit) - Р0(3с2 - At + 2) + Р,(8с2 - 7,3с - 7,99) +… (11.56)

В соседнем диапазоне эта кривая определяется другой суммой полиномов, но мы знаем, что все ее сегменты соединяются между собой, сохраняя непрерывность кривой. Подобная кривая носит название сплайн кривой (spline curve) [Farin, 60]'.

Теперь можно задаться следующим вопросом: существует ли при заданном узловом векторе некоторое семейство стыковочных функций, которые можно использовать для генерирования всех возможных сплайн-кривых, определяемых данным узловым вектором? Такое семейство функций называют базисом (basis) сплайнов; под сплайнами здесь подразумевается любая сплайн-кривая, которую можно задать уравнением (11.54) путем правильного выбора контрольного полигона. Ответ на этот вопрос следующий: существует множество таких семейств, однако среди них существует один особенный базис, для которого стыковочные функции имеют наименьшую поддержку и поэтому обеспечивают наибольший локальный контроль. Этот базис образуют так называемые В-сплайны (B-splines), или Би-сплайны, где буква «Б» взята из слова «базис».

11.7. Базисные функции В-сплайнов Когда продвижение к цели становится все труднее, печаль проходит.

Роберт Бирн (Robert Birne)

Мы намерены определить стыковочные функции Rk(t) для В-сплайнов способом, который придаст им некоторый интуитивный смысл и помимо этого приведет к простой компьютерной реализации. Хотя в литературе предлагается множество различных подходов к формулировке В-сплайнов, имеется только одна формула, определяющая В-сплайн функции каждого порядка. Это рекурсивное соотношение, легко реализуемое программно и хорошо ведущее себя при вычислениях. (Некоторые другие методы обладают большей вычислительной эфсрективностью - см. упражнения в конце раздела «Определение В-сплайн функций».)


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