Maticová reprezentace

Bezierovu formuli můžeme skutečně reprezentovat pomocí maticového násobení, což může být užitečné v jiných souvislostech, například pro rozdělení Bézierovy křivky. Vrátíme-li se k našemu příkladu, můžeme P(t) přepsat takto:

ekv. 6

A tak jsou všechny informace o kvadratické Bézierově křivce zhuštěny do jedné matice M. Nyní bychom mohli chtít najít koeficienty této matice, aniž bychom museli provádět všechny tyto kroky, a to způsobem, který je snadno programovatelný. Protože koeficienty matice jsou jednoduše koeficienty polynomu před každým Pi, to, co hledáme, je rozšířená forma Bernsteinova polynomu eq. 2.

Ještě jedna věc: pokud rozšíříme Bi(t), dostaneme polynom před Pi, který odpovídá i(tému) sloupci v matici. To však není úplně výhodné a bylo by jednodušší programovat, kdybychom místo toho mohli získat řádky. Přitom si můžete všimnout, že i(th) řádek matice je přesně stejný jako obrácený (n-i)(th) sloupec a koeficienty obráceného (n-i)(th) sloupce nejsou nic jiného než koeficienty B(n-i)(t) vzaté v klesajících mocninách t.

ekv. 7

Pokud vám to dělá potíže, můžete se podívat na eq. 2 a eq. 3.

Koeficienty matice tedy nejsou nic jiného než koeficienty před t, což znamená:

eq. 8

Interpolace

Jednou ze zajímavých aplikací Bézierových křivek je kreslení hladké křivky procházející předem definovanou množinou bodů. Zajímavé je to proto, že vzorec P(t) vytváří body a nemá tvar y=f(x), takže jedno x může mít více y (v podstatě jde o funkci, která může „jít zpět“). Například bychom mohli nakreslit něco takového:

Matematické postupy pro získání tohoto výsledku však nejsou triviální, takže jsem k tomu napsal zvláštní příspěvek:

.

admin

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

lg