Podręcznik

2. Krzywe wielomianowe 3 i 2 stopnia

2.1. Reprezentacja Hermite’a

Krzywa wielomianowa trzeciego stopnia jest najczęściej stosowanym segmentem krzywej, z którego buduje się dowolnie złożone krzywe, zarówno w aplikacjach rysunkowych (rastrowych i wektorowych), jak i we wszelkiego rodzaju modelerach - służących do modelowania kształtów w systemach CAD/CAM i w systemach animacji komputerowej. Można powiedzieć bez żadnej przesady, że jest to najbardziej popularny "kawałek" krzywej, który stanowi podstawę  matematycznej reprezentacji tego wszystkiego, co widzimy w animacji komputerowej i tego, czym posługujemy się na co dzień jako wytworami wzornictwa przemysłowego. Krzywa taka jest na tyle wysokiego stopnia, że może być krzywą przestrzenną i może mieć jeden lub dwa punkty przegięcia, a nawet ostrze. Zarazem jest na tyle niskiego stopnia, że umożliwia bardzo proste i szybkie obliczenia i jest wygodna jako element do konstruowania złożonych krzywych.

 

Pojedynczy łuk krzywej wielomianowej trzeciego stopnia można zdefiniować ogólnym wzorem

 

 

w którym cztery wielkości Ai są wektorami 2D lub 3D nie mającymi żadnej interpretacji geometrycznej.

Można go też zdefiniować za pomocą czterech innych wektorów: dwóch punktów krańcowych i wektorów pochodnych w tych punktach. Jest to tzw. reprezentacja Hermite'a, mająca znaczenie geometryczne: wektory pochodnych pokazują, w jakim kierunku poruszamy się po krzywej i z jaką prędkością. Im bardziej wydłużymy wektory pochodnych, tym bardziej krzywa się "wybrzuszy" - bo długość toru musi wzrosnąć, skoro ma być na nim większa prędkość.

 

{\mathbf{P}}\left(u\right)=\left(2u^3-3u^2+1\right)\cdot{\mathbf{P}}\left(0\right)+\left(-2u^3+3u^2\right)\cdot{\mathbf{P}}\left(1\right)+\left(u^3-2u^2+\ u\right)\cdot\mathbf{P}^\prime\left(0\right)+(u^3-u^2)\cdot\mathbf{P}^\prime(1)

 

Rysunek 15. Przykłady różnych segmentów wielomianowych trzeciego stopnia w reprezentacji Hermite'a. Do wyznaczenia krzywej służą punkty krańcowe krzywej i wektory pochodnych w tych punktach.

Zależności pomiędzy obiema reprezentacjami opisują wzory:

{\mathbf{A}_0}={\mathbf{P}}(0)

{\mathbf{A}_1}=\mathbf{P}^\prime(0)

\mathbf{A}_2=-3{\mathbf{P}}\left(0\right)+3{\mathbf{P}}\left(1\right)-2\mathbf{P}^\prime\left(0\right)-\mathbf{P}^\prime(1)

\mathbf{A}_3=2{\mathbf{P}}\left(0\right)-2{\mathbf{P}}\left(1\right)+\mathbf{P}^\prime\left(0\right)+\mathbf{P}^\prime(1)