Geometrie/Bézierova křivka
Bézierova křivka, nesprávným pravopisem Beziérova křivka, je další metodou vytváření křivek. Tato metoda umožňuje interaktivní vytváření a modifikaci křivek. Pomocí této metody můžete rovněž datově 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).
Vyjádření
Bézierova křivka stupně n je určena rovnicí:
kde:
,
jsou polohové vektory vrcholů řídícího polynomu (tzv. Bézierovy body)
jsou tzv. Bernsteinovy polynomy n-tého stupně,
pro které platí:
Vlastnosti
Nezáporná hodnota
pro všechny hodnoty a pro všechna . Tato vlastnost plyne z toho, že pro jsou všechny součinitele v definici Bézierových polynomů nezáporné.
Jednotkový součet
pro všechny hodnoty
Plyne přímo z binomické věty. Platí totiž:
Koncové podmínky
Maximum
nabývá právě jednoho maxima na , a to pro
Symetrie
Pro libovolné n je množina polynomů symetrická podle
Rekurentní vztah
a:
Rekurentní vztah vyplývá ze vztahu pro kombinační čísla:
Derivace
Algoritmizace
Factorial(int a)
Pomocná metoda pro výpočet faktoriálu pro kombinační číslo.
Combin(int a, int b)
Pomocná metoda pro výpočet kombinačního čísla pro výpočet bodů Bernsteinova polynomu.
BernsteinPolynom(int k,int i,double t)
Metoda pro výpočet bodů polynomu.
Vector GetPoint(double t)
Přetěžovaná metoda třídy Curve. V zadaném parametru vrátí polohový vektor bodu na křivce.
RichPoint CreateRichPoint()
Přetěžovaná metoda třídy Curve. Vytvoření řídícího bodu pro křivku. Oproti rodiči má navíc rozšíření o váhový koeficient.
Externí odkazy
Autoři
Tento text vypracovali studenti Univerzity Palackého v Olomouci katedry Matematické informatiky jako zápočtový úkol do předmětu Počítačová geometrie.