Racionální Bézierova křivka – applet

Racionální Bézierovy křivky patří do skupiny parametrických křivek, které se vytvářejí pomocí řídících bodů. Bézierovy křivky mají velkou nevýhodu a to tu, že pomocí nich nejsme schopni sestrojit ani jednoduché tvary a kuželosečky, jako jsou kružnice, elipsa apod. Snaha vyřešit tento nedostatek vede k použití konceptu váhy u každého řídícího bodu.

Průběh y(t)

q(t) = [x(t) y(t)]

t= 1
Reset
w0
1
w1
1
w2
1
w3
1

Průběh x(t)

Ovládání

Pokud chceme zvolit řídící body pro racionální Bézierovu kubiku, provedeme to kliknutím do vykreslovací plochy vpravo nahoře. Kubika je určena čtyřmi body, tedy klikneme čtyřikrát. Poté se nám vykreslí zadaná křivka a ihned můžeme vidět její parametrický rozklad. Ovládací zaškrtávací tlačítka nám umožní zapínat a vypínat polynomy a bod na křivce. Nastavováním posuvníku čas t určujeme pozici zobrazeného bodu na křivce od začátku do konce křivky. Pro tuto operaci však musíme mít zaškrtlé políčko zapnout bod na křivce. Váhu bodů měníme pomocí posuvníků v dolní části apletu. Okamžitě tak vidíme, jak se celá křivka mění a s ní samozřejmě racionální Bernsteinovy polynomy, ze kterých jsou průběhy jednotlivých souřadnic složeny.

Teorie

Racionální Bézierovy křivky jsou zobecněním Bézierových křivek. Bézierovy křivky jsou zvláštním případem racionálních, když jsou všechny váhy wk rovny jedné. Racionální Bézierova křivka je dána vztahem:

Zde wk jsou váhy, řídící body Pk a Bernsteinovy polynomy n-tého řádu Bk,n. Řídicí bod k sobě „přitahuje“ křivku určitou „silou“, která je úměrná váze w. Na problematiku by se dalo dívat i tak, že bod s vyšší váhou má vyšší důležitost a křivku v daném místě ovlivňuje více než body s nižší váhou. Výhodou je pak možnost manipulace s tvarem křivky bez změny polohy řídících bodů.

Pro rasterizaci Bézierových křivek/ určení jejích bodů lze využít de Boorův algoritmus, který obdobně jako algoritmus de Casteljau pracuje rekurzivně.


(c) 2019 Matúš Lipa, Pavel Rajmic, Ústav telekomunikací, FEKT, VUT v Brně