Bézierova krivulja

Izvor: Hrvatska internetska enciklopedija
Skoči na:orijentacija, traži
Kubična Bézierova krivulja

Bézierova krivulja je parametrična krivulja važna u području matematičke numeričke analize osobito se primjenjuje u računalnoj grafici i srodnim djelatnostima.

Bézierove krivulje u višim dimenzijama su Bézierove površine. Unutar njih je pak Bézierov trokut primjer za sebe.

Unutar računalne grafike, a posebno u vektorskoj grafici, Bézierove krivulje su važan alat, kojim se služi većina računalnih programa pri oblikovanju jasnih glatkih krivulja, koje se mogu beskonačno skalirati. Svi programi za crtanje i uređivanje slika poput; Adobe Illustratora, Adobe Photoshopa, CorelDrawa služe se "Putanjama" ( engleski: "Paths"), a one su kombinacija Bézierovih krivulja. Bézierove krivulje su široko rasprostanjene i u programima za animaciju poput; Adobe Flasha, Adobe After Effectsa, i 3d maxa.

Povijest

Bézierove krivulje je učinio svjetski poznatima, francuski inženjer Pierre Etienne Bézier, koji je 1962. godine za potrebe tvrtke Renault, razvio metodu opisa krivulja, za računalno oblikovanje automobila. Ove krivulje je otkrio 1959. Paul de Casteljau uz pomoć de Casteljauvovog algoritma, numerički stabilnom metodom za izračunavanje Bézierovih krivulja.

Analiza primjera

Linearne Bézierove krivulje

Bezierova krivulja 1 stupnja:

Ako su nam dane dvije nadzorne točke P0 i P1, Linearna Bezierova krivulja je jednostavna ravna crta između te dvije točke.

Krivulja nam je dana pomoću:[math]\displaystyle{ \mathbf{B}(t)=\mathbf{P}_0 + t(\mathbf{P}_1-\mathbf{P}_0)=(1-t)\mathbf{P}_0 + t\mathbf{P}_1 \mbox{ , } t \in [0,1] }[/math] i jednaka je linearnoj interpolaciji.

Animation of a linear Bézier curve, t in [0,1]
Animacija linearne Bézierove krivulje

Kvadratne Bézierove krivulje

Bézierova krivulja 2 stupnja:

Kvadratna Bézierova krivulja je putanja praćena funkcijom B(t), nadzorne točke su nam P0, P1, i P2,

[math]\displaystyle{ \mathbf{B}(t) = (1 - t)^{2}\mathbf{P}_0 + 2t(1 - t)\mathbf{P}_1 + t^{2}\mathbf{P}_2 \mbox{ , } t \in [0,1]. }[/math]

Kvadratna Bézierova krivulja je i dio parabole.

TrueType fontovi upotrebljavaju Bézierov krivuljar koji je sastavljen od kvadratnih Bézierovih krivulja.

Construction of a quadratic Bézier curve Animation of a quadratic Bézier curve, t in [0,1]
Konstrukcija Kvadratne Bézierove krivulje Animacija Kvadratne Bézierove krivulje

Kubične Bézierove krivulje

Bézierova krivulja 3 stupnja:

Četiri nadzorne točke P0, P1, P2 i P3 u ravnini ili trodimenzionalnom prostoru definiraju kubičnu Bézierovu krivulju.

Krivulja počinje iz točke P0 ide prema točki P1 i dospijeva do P3 iz smjera P2. Obično, ne prolazi kroz točke P1 i P2; ove točke su jedino za određivanje pravca. Udaljenost između P0 i P1 određuje »koliko dugo« ide krivulja prema točki P2 prije nego skrene prema točki P3.

Parametrički oblik oblik krivulje je:[math]\displaystyle{ \mathbf{B}(t)=(1-t)^3\mathbf{P}_0+3t(1-t)^2\mathbf{P}_1+3t^2(1-t)\mathbf{P}_2+t^3\mathbf{P}_3 \mbox{ , } t \in [0,1]. }[/math]

Suvremeni računalni grafički sustavi i jezici poput PostScript-a, Asymptote (vektorski grafički jezik) i Metafont-a primjenjuju Bézierov krivuljar sastavljen od kubičnih Bézierovih krivulja za iscrtavanje zakrivljenih oblika.

Construction of a cubic Bézier curve Animation of a cubic Bézier curve, t in [0,1]
Konstrukcija Kubične Bézierove krivulje Animacija Kubične Bézierove krivulje

Racionalne Bézierove krivulje

Neke krivulje, koje izgledaju jednostavne, kao što je kružnica,ne možemo opisati s Bézierovom krivuljom ili pak dijelom Bézierove krivulje. U praksi je ta razlika toliko mala da je dopuštamo. Za opis takvih i drugih krivulja trebamo dodatne slobodne mjere.

Racionalna Bézierova krivulja ima težišta koja moramo prilagoditi. Brojač je ponderiran Bernsteinov oblik Bézierove krivulje, nazivnik je uteženi zbroj Bernesteinovih polinoma.

Ako imamo n+1 nadzorne točkePi, tada racionalnu Bézierovu krivulju možemo opisati sa:

[math]\displaystyle{ \mathbf{B}(t) =\frac{\sum_{i=0}^n b_{i,n}(t) \mathbf{P}_{i}w_i} {\sum_{i=0}^nb_{i,n}(t) w_i} \; , }[/math]

ili jednostavno:

[math]\displaystyle{ \mathbf{B}(t) =\frac{\sum_{i=0}^n {n \choose i} t^i(1-t)^{n-i}\mathbf{P}_{i}w_i} {\sum_{i=0}^n {n \choose i} t^i(1-t)^{n-i}w_i}. }[/math]

Definicija

Vanjske poveznice