Поверхности получаются как обощение параметрических кубических кривых. Для кривой имеем:
Q(t) = G M T.
Заменяя для удобства обозначений t на s:
Q(s) = G M S.
Если теперь допустить, что точки в геометрической матрице G могут меняться в 3D вдоль некоторой кривой же, которая параметризована по t:
Q(s, t) = [ G1(t) G2(t) G3(t) G4(t) ] M S
Для каждого фиксированного t’ из интервала [ 0 1 ] имеем кривую Q(s, t’) - т.к. G(t’) - константа. Таким образом, получаем на интервале изменения t семейство кривых, которые, будучи близко расположены друг к другу, и определяют искомую поверхность. Если Gi(t) - сами кубические кривые, то и поверхность называется параметрической бикубической кривой.
Итак, кривая Gi(t) имеет свою геометрическую матрицу Gs = [ gsi1 gsi2 gsi3 gsi4 ]. Тогда:
Gi(t) = Gsi M T.
Известно равенство: (A B C)T = CT BT AT.
Тогда транспонируя:
Gi(t) = TT MT GsiT = TT MT [ gsi1 gsi2 gsi3 gsi4 ]T.
Подставляя:
Q(s, t) = TT MT [ gs11 gs21 gs31 gs41 ] M S
gs12 gs22 gs32 gs42 ]
gs13 gs23 gs33 gs43 ]
[ gs14 gs24 gs34 gs44 ] или
Q(s, t) = TT MT Gs M S, 0 <= s, t, <= 1.
Используя эту общую форму, можно вывести конкретные матрицы для поверхностей Эрмита, Безье и сплайнового типа.