Параметрические кривые в форме Эрмита

Форма Эрмита сегмента кубической полиномиальной кривой определяются ограничениями на конечные точки P1 и P4, и касательные векторы в конечных точках R1 и R4 (нумерация для согласованности с последующими формами).

Тогда геометрический вектор Эрмита:

G = [ P1 P4 R1 R4 ].

Базисная матрица Эрмита:

Mh = [ 2 -3 0 1 ]

[ -2 3 0 0 ]

[ 1 -2 1 0 ]

[ 1 -1 0 0 ].

Если Bh - функции сопряжения, то искомый полином:

Q(t) = Gh Mh T = Gh Bh =

(2*t^3-3*t^2+1) P1 + (-2*t^3+3*t^2) P4 + (t^3-2*t^2+t) R1 + (t^3-t^2) R4

Т.е. полином представляется в виде линейной комбинации векторов-ограничений.

Параметрические кривые в форме Безье

Ограничения для формы Безье для сегмента кубического сплайна определяются, помимо двух конечных точек P1 и P4, заданием еще двух "промежуточных" точек P3 и P4 вне кривой, которые неявно определяют касательные векторы P1P2 и P2P4

При этом геометрический вектор Безье: Gb = [ P1 P2 P3 P4 ],

базисная матрица Безье:

Mb = [ -1 3 -3 1 ]

[ 3 -6 3 0 ]

[ -3 3 0 0 ]

[ 1 0 0 0 ].

Тогда параметрический полином для сегмента:

Q(t) = Gb Mb T = Gb Bb =

(1-t)^3 P1 + 3*t*(1-t)^2 P2 + 3*t^2*(1-t) P3 + t^3 P4.

Четыре сопрягающих полинома Bb = Mb T, которые являются в этом уравнении весовыми коэффициентами, называются полиномами Бернстейна

Геометрическая непрерывность G1 обеспечивается, когда:

P3 - P4 = k (P4 - P5).

То есть, три точки P3, P4, P5 должны быть различны и коллинеарны. В более ограничительном случае, когда k=1, появляется и C1 непрерывность.




double arrow
Сейчас читают про: