Кривых, состоящих только из одних многочленных или рациональных сегментов, часто оказывается недостаточно. Их недостатки:
Решение использовать кривые (поверхности), которые кусочно-многочленные или кусочно рациональные. Рисунок 2.1 показывает кривую, `C(u)`, состоящей из `m(=3)` `n`-ой степени многочленных сегментов. `C(u)` определена на `u∈[0,1]`. Значения параметров `u_0=0<u_1<u_2<u_3=1` называются точки прерывания. Они отображаются в конечных точках трех многочленных сегментов. Обозначим сегменты от `C_i(u)`, `1≤i≤m`. Сегменты построены так, что они присоединиться с какой-то степеью непреывности (не обязательно одинаковой на каждой точке прерывания). Обозначим `C_i^((j))` `j`-ую производную `C_i`. `C(u)` называется `C^k` непрерывная в точке прерывания `u_i` если `C_i^((j))(u_i)=C_(i+1)^((j))(u_i)` для всех `0≤j≤k`.
Рисунок 2.1. Кусочно-кубическая многочленная кривая с тремя сегментами.
Любая из стандартных многочленных форм может быть использована для представления `C_i(u)`. Рисунок 2.2 показывает кривую на рисунке 2.1 с тремя сегментами кубической формы Безье. `P_i^j` обозначает `i`-ую точку управления на `j`-ом сегменте.
Рисунок 2.2. Кривая на рисунке 2.1 показана с многочленными сегментами, представленными в форме Безье.
Если степень равна трем и точки прерывания `U={u_0,u_1,u_2,u_3}` остаются фиксированными, и если мы позволим двенадцати контрольным точкам, `P_i^j`, произвольно меняться, мы получим векторное пространство, `V`, состоящее из всех кусочно кубических многочленов кривых `U`. `V` имеет размерность двенадцать, и кривая `V` может быть разрывной в `u_1` или `u_2`. Теперь предположим, что мы указываем (как показано на рисунке 2.2), что `P_3^1=P_0^2` и `P_3^2=P_0^3`. Это приводит к `V^0`, векторного пространства всех кусочно кубических многочленных кривых на U, которые, по крайней мере `C^0` непрерывна всюду. `V^0` имеет размерность десять, и `V^0∈V`.
Получит непрерывность `C^1` немного сложнее. Рассмотрим `u=u_1`. Предположим, что `P_3^1=P_0^2`. Пусть
`v=(u-u_0)/(u_1-u_0)` и `w=(u-u_1)/(u_2-u_1)`
будут локальными параметрами на отрезках `[u_0,u_1]` и `[u_1,u_2]`, соответственно. Тогда `0≤v`, `w≤1`. `C^1` продолжается в `u_1` предполагает`1/(u_1-u_0)C_1^((1))(v=1)=C_1^((1))(u_1)=C_2^((1))(u_1)=1/(u_2-u_1)C_2^((1))(w=0)`
из уравнения (1.10) следует, что`3/(u_1-u_0)(P_3^1-P_2^1)=3/(u_2-u_1)(P_1^2-P_0^2)`
Таким образом `P_3^1=((u_2-u_1)P_2^1+(u_1-u_0)P_1^2)/(u_2-u_0)`(2.1)
Уравнение (2.1) говорит, что `P_3^1` и `P_3^2` можно записать в терминах `P_2^1`, `P_1^2` и `P_2^2`, `P_1^3`, соответственно. Следовательно, `V^1`, векторное пространство всех `C^1` непрерывный кусочно кубических многочленных кривых на `U`, имеет размерность восемь, и `V^1∈V^0∈V`.Отсюда ясно, что хранение и редактирование отдельных многочленных сегментов кривой кусочно-многочленной не идеальный метод для обработки таких кривых. Во-первых, избыточные данные должны храниться: двенадцать коэффициентов, когда только восемь, необходимые для `C^1` непрерывных кубических кривых, и только шесть для `C^2` непрерывных кубических кривых. Во-вторых, для Безье образуют непрерывность `C(u)` зависящию от положения контрольных точек, следовательно, мало гибкости в управлении позиционированием точек при сохранении преемственности. Если разработчик хочет преемственности `C^1` доволен сегментов `C_1 (u)` и `C_3 (u)`, но хочет, чтобы изменить форму `C_2(u)`, ему не повезло: ни один из `C_2(u)`'ы контрольных точек не могут быть изменены. В-третьих, определение непрерывности кривой требуется вычисление (например, уравнения [2,1]).
Мы хотим, чтобы представление кривой вида
`C(u)=sum_{i=0}^nf_i(u)P_i`(2.2)
где `P_i` являются контрольными точками, и `{f_i(u),i=(0,…,n)}` являются кусочно-многочленными функциями, образующие базис векторного пространства всех кусочно многочленных функций желаемой степени и непрерывности (для фиксированного последовательности контрольных точек, `U={u_i},0≤i≤m`). Следует отметить, что непрерывность определяется базисной функцией, следовательно, контрольные точки могут быть изменены без изменения непрерывности кривой. Кроме того, `{f_i}` должен иметь "обычные" хорошие аналитические свойства, например, те, которые перечислены в Разделе 1.3. Это гарантирует, что кривые определённые по формуле (2.2) имеют хорошие геометрические свойства, аналогичные кривым Безье, например, выпуклая оболочка, уменьшается вариации, преобразования инвариантности. Еще одно важное свойство, к которому мы стремимся в наших базисных функциях является то, что локальная поддержка означает, что каждая `f_i(u)` отлична от нуля только на ограниченном числе под интервалов, а не всей области, `[u_0,u_m]`. `P_i` умножается на `f_i(u)`, двигаясь `P_i` влияет на форму кривой только на под интервалах где `f_i(u)` отличен от нуля.Наконец, учитывая соответствующие кусочно-многочленные базисные функции, мы можем построить кусочно рациональные кривые
`C^w(u)=sum_{i=0}^nf_i(u)P_i^w`(2.3)
и нерациональные и рациональные поверхности тензорного произведения
`S(u,v)=sum_{i=0}^nsum_{j=0}^mf_i(u)g_j(v)P_(i,j)`
`S^w(u,v)=sum_{i=0}^nsum_{j=0}^mf_i(u)g_j(v)P_(i,j)^w`(2.4)
В оставшейся части этой главы мы подробно изучить так называемые базисные функции B-сплайнов. В главах 3 и 4 мы объединяем эти функции с трехмерными и четырехмерными контрольными точками для получения нерациональных и рациональных кривых и поверхностей, соответственно.