Bézierova křivka

Bézierova křivka, nesprávným pravopisem Beziérova křivka, pojmenovaná po francouzském inženýru Pierru Bézierovi, je jednou z mnoha parametrických křivek. Umožňuje interaktivně vytvářet křivku a modifikovat její tvar. Pomocí Bézierovy křivky lze také reprezentovat i interpolační křivky (existují například algoritmy na převod mezi interpolačními spline kubikami a B-spline kubikami resp. Bézier kubikami).

Racionální Bézierova křivka 

Jedná se o zobecnění Bézierových křivek. Pokud chce uživatel modifikovat tvar Bézierovy křivky, musí vybrat příslušný řídicí bod a změnit jeho polohu. To nemusí být vždy jednoduché a vyžaduje to jistou zkušenost. Tento problém se podstatně komplikuje v třírozměrném prostoru. Přirozenou se potom jeví metoda, která každému bodu řídicího polygonu přiřadí „váhu“ – reálné číslo, jehož změnou se mění tvar křivky. Největším přínosem racionálních Bézierových křivek je možnost manipulace s tvarem křivky bez nutnosti měnit polohy bodů řídicího polygonu.

Křivka má rovnici

 

kde  jsou řídící body a  jsou příslušné váhy.

Definice 

Bézierova křivka n-tého stupně pro n+1 zadaných kontrolních bodů, které tvoří tzv. řídicí polygon, je pro  definována jako 

,

přičemž  je i-tý Bernsteinův polynom n-tého stupně:

Bernsteinovy polynomy tvoří bázi vektorového prostoru polynomu a splňují rekurentní vzorec:

,

navíc , dále . Je tak umožněn stabilní číselný rekurzivní výpočet hodnoty Bézierovy křivky pomocí Casteljauova algoritmu:

Vlastnosti 

 Křivka se nachází uvnitř konvexní obálky svého řídicího mnohoúhelníku. Z toho plyne, že Bernsteinovy polynomy stupně n jsou rozkladem jedné:

 Křivka prochází přesně koncovými body P0 a Pn: 
 

 Tečny v koncových bodech jsou:
 
 

 Jedna přímka protíná Bézierovu křivku nanejvýš tolikrát, kolikrát jí protíná její kontrolní polygon (křivka má omezené kolísání).

 Bézierova křivka je invariantní vůči lineární transformaci (posunutí, změna měřítka, otáčení, atd.), což znamená, že transformovaný řídící polygon dá stejný výsledek, jako když transformujeme každý bod z vygenerované křivky. Obecná Bézierova křivka, na rozdíl od racionální Bézierovy nebo NURBS křivky, není invariantní k perspektivnímu promítání.

 Leží-li všechny kontrolní body na jedné přímce, pak se Bézierova křivka stává úsečkou (výhoda oproti interpolaci polynomu).

 Vliv kontrolního bodu na křivku je globální. Tzn. posune-li se jeden bod, změní se celá křivka. Proto se v praxi nejčastěji používají tzv. splines, složené pracovní křivky daného stupně, které do sebe kontinuálně přecházejí.

 Jako zobecněnou formu Bézierovy křivky lze použít Bézierovu plochu. Bézierova plocha (n,m)-tého řádu je plocha ve formě
 
s kontrolními body Pi,j a s Bersteinovým polynomem Bi,n(u) a Bj,m(v). Bézierova plocha může být popsána také dvěma na sebe kolmými Bézierovými křivkami.

Použití 

V počítačové grafice se Bézierovy křivky používají k definování křivek a ploch v rámci CAD, při vektorových grafikách (např. SVG) a k popsání písma (např. PostScript Type 1 a CFF-OpenType).

Příklady

Lineární Bézierovy křivky (n = 1)

Dva kontrolní body P0 a P1 určují lineární Bézierovu křivku, která odpovídá úsečce mezi těmito dvěma body. 

Křivka je specifikována jako:
.

Kvadratické Bézierovy křivky (n = 2)

Kvadratická Bézierova křivka je dráha, která je popsána funkcí C(t) pro body P0, P1 a P2:

.

Kubické Bézierovy křivky (n = 3)

Kubické Bézierovy křivky mají velký význam pro praxi, protože jsou skládány z menších dílů, kde můžeme jednoduše definovat spojitost v řídících (koncových) bodech jednotlivých segmentů. Další výhodou je omezený vliv změny polohy jednoho bodu na tvar celé křivky. Pro rasterizaci Beziérovy křivky se většinou používá adaptivní algoritmus de Casteljau.

Čtyři body (P0, P1, P2 a P3) určují kubickou Bézierovu křivku. Křivka začíná v bodě P0 a pokračuje směrem P1 a dále směrem na P2 a P3. Obecně křivka skrz body P1 a P2 neprochází – tyto body určují pouze tvar křivky, přičemž P1 určuje směr, kterým křivka z bodu P0 vychází. P2 určuje směr, kterým se křivka přibližuje k bodu P3. Vzdálenost mezi body P0, P1 a mezi body P2, P3 určuje „jak dlouho“ se křivka pohybuje ve směru kontrolního bodu P1 a P2, před tím než se stočí ve směru bodu P3.

. 

Pro každý parametr t Bézierovy křivky může být určen tečný vektor odvozením z výchozí rovnosti. Přitom je délka vektoru měřítkem pro rychlost „postupu“ na křivce.

Odkazy

Reference

Související články 
 Geometrie
 Křivka
 Vektorová grafika
 Pierre Bézier

Externí odkazy 
 
 

Křivky