Difference between revisions of "Curbe Bezier"
From linux360
m (→Definirea unei curbe Bézier) |
m |
||
Line 65: | Line 65: | ||
Şi ecuaţia capătă următoarea formă: <math>P(t) = At^2 + Bt + C</math> | Şi ecuaţia capătă următoarea formă: <math>P(t) = At^2 + Bt + C</math> | ||
+ | Ca şi proprietăţi ale curbei trebuie să subliniez următoarele: | ||
+ | |||
+ | <math>P(0) = P_0</math> | ||
+ | |||
+ | <math>P(1) = P_2</math> | ||
+ | |||
+ | Acest lucru poate fi uşor observat şi motivat cu ajutorul graficelor din figura 3. | ||
===Curba Bézier cubică=== | ===Curba Bézier cubică=== | ||
Revision as of 19:54, 6 November 2006
O curbă Bézier este o curbă parametrică inventată de inginerul francez Pierre Bézier şi făcută publică în anul 1962. Bézier a folosito în procesul de design al automobilelor. Curbele Bézier sunt foarte importante şi pentru domeniul tehnologiei informaţiei, fiind folosite în construcţia fonturilor TrueType.
Contents
Polinoame Bernstein
Polinoamele Bernstein stau la baza curbelor Bézier. Acestea poartă numele matematicianului ucrainian Sergei Natanovich Bernstein.
Pentru a determina polinoamele Bernstein de orice grad se porneşte de la polinomul Bernstein de ordinul zero.
<math>1 = 1</math>
Apoi se scade din ambele părţi o varibilă t şi obţinem:
<math>1-t = 1-t \iff (1-t) + t = 1</math>
Ultima expresie este o combinaţie liniară a polinoamelor Bernstein de bază de ordinul unu. Polinoamele sunt:
<math>\begin{cases} B_{0,1} = 1-t \\ B_{1,1} = t\end{cases}</math>
Acum putem obţine polinoame Bernstein de orice grad prin ridicarea la putere a ultimei expresii:
<math>((1-t) + t)^{2} = 1 \iff (1-t)^{2} + 2t(1-t) + t^2 = 1</math>
Obţinem astfel polinoamele Berstein de bază de ordinul doi: <math>\begin{cases}B_{0,2} = (1-t)^2 \\ B_{1,2} = 2t(1-t) \\ B_{2,2} = t^2 \end{cases}</math>
Foarte interesante şi utile sunt graficele polinoamelor Bernstein, pentru înţelegerea modului în care "funcţionează" curbele Bézier.
Definirea unei curbe Bézier
O curbă Bézier de ordinul n se defineşte, cu ajutorul a n puncte, după cum urmează: <math>P(t) = \sum_{k=0}^N B_{k,N}*P_{k}</math>, unde <math>B_{k,N}</math> este polinomul Bernstein de indice k şi de ordin N. <math>P_{k}</math> sunt puncte în plan, adică vectori cu două componente <math>(x_{k}, y_{k})</math>.
Curba Bézier liniară
Curba Bézier liniară este definită folosind polinoamele Bernstein de ordinul 1: <math>\begin{cases} B_{0,1} = 1-t \\ B_{1,1} = t\end{cases}</math>
Ecuaţia:
<math>P(t) = B_{0,1}P_{0} + B_{1,1}P_{1} \iff P(t) = (1-t)P_{0} + tP_{1}, t \in [0,1]</math>
Reprezentarea grafică este doar o linie şi din acest motiv această formă nu este aproape deloc folosită.
Curba Bézier pătratică
Curba Bézier pătratică sau de ordinul doi este o curbă dată prin trei puncte, punctul din mijloc fiind un punct de control care nu se află pe curbă, dar care influenţează aspectul acesteia.
Aceasta foloseşte polinoamele Bernstein de ordinul doi:
<math>\begin{cases}B_{0,2} = (1-t)^{2} \\ B_{1,2} = 2t(1-t) \\ B_{2,2} = t^2\end{cases}</math>
Ecuaţia curbei este:
<math>P(t) = B_{0,2}P_0 + B_{1,2}P_1 + B_{2,2}P_2 \iff P(t) = (1-t)^{2}P_0 + 2t(1-t)P_1 + t^{2}P_2</math>
În anumite documente ecuaţiile sunt date în funcţie de puterile lui t, lucru care aduce confuzie, de aceea prezint în continuare şi această formă.
<math>P(t) = P_0 - P_0t^2 +2tP_1-2t^{2}P_1 + t^{2}P_2 \iff P(t) = t^{2}(P_2 - P_0 - 2P_1) +t2P_1 + P_0</math>
Se fac notaţiile: <math>\begin{cases}A = P_2 - 2P_1 - P_0 \\ B = 2P_1 \\ C = P_0\end{cases} \iff \begin{cases}A = P_2 - B - C \\ B = 2P_1 \\ C = P_0 \end{cases}</math>
Şi ecuaţia capătă următoarea formă: <math>P(t) = At^2 + Bt + C</math>
Ca şi proprietăţi ale curbei trebuie să subliniez următoarele:
<math>P(0) = P_0</math>
<math>P(1) = P_2</math>
Acest lucru poate fi uşor observat şi motivat cu ajutorul graficelor din figura 3.