13.07.2015 Views

polinomi di Bernstein e curve di Beziér

polinomi di Bernstein e curve di Beziér

polinomi di Bernstein e curve di Beziér

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Introduzione alle <strong>curve</strong> <strong>di</strong> BézierAlessandra SestiniApril 19, 20131 Polinomi <strong>di</strong> <strong>Bernstein</strong>Introduciamo la base <strong>polinomi</strong>ale <strong>di</strong> <strong>Bernstein</strong> in quanto essa è lo standardutilizzato nel CAGD per la rappresentazione <strong>di</strong> <strong>curve</strong> parametriche <strong>polinomi</strong>ali.I <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> <strong>di</strong> grado n sono n + 1 e sono definiti come segue 1 ,( ) nBi n (t) := t i (1 − t) n−i , i = 0, . . . , n, (1)i( ) n n!dove in<strong>di</strong>ca il coefficiente binomialei. i! (n−i)!Tali <strong>polinomi</strong> costituiscono una base per lo spazio Π n dei <strong>polinomi</strong> <strong>di</strong>grado ≤ n. Infatti, me<strong>di</strong>ante lo sviluppo del binomio <strong>di</strong> Newton <strong>di</strong> (1 − t) n−i ,si ricava facilmente la seguente formula,( nBi n (t) =i) n−i ∑j=0( n − ij)(−1) n−i−j t n−j , i = 0, . . . , n.Quin<strong>di</strong>, usando una notazione matriciale, è possibile esprimere i <strong>polinomi</strong> <strong>di</strong><strong>Bernstein</strong> in termini della base canonica 1, t, . . . , t n come segue,⎛ ⎞ ⎛ ⎞B0 n (t)⎜ ⎟ ⎜ ⎟⎝ . ⎠ = A ⎝1. ⎠ , (2)Bn(t)n t n1 Si osserva che, per como<strong>di</strong>tà <strong>di</strong> notazione nel seguito si considerano definiti e pariidenticamente a 0 anche Bi n(t), i < 0 e Bn i (t), i > n.1


10.90.80.70.60.50.40.30.20.100 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Figure 1: Grafico in [0 , 1] dei 4 <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> cubici.dove A è una matrice <strong>di</strong> <strong>di</strong>mensione (n + 1) × (n + 1) ( che)risulta triangolarensuperiore 2 e con elementi <strong>di</strong>agonali non nulli, A i,i = . Ogni <strong>polinomi</strong>oip ∈ Π n può quin<strong>di</strong> essere rappresentato in modo univoco per mezzo dei suoicoefficienti c i , i = 0, . . . , n in tale base che vengono detti coefficienti <strong>di</strong> Bézier,p(t) =n∑c i Bi n (t). (3)i=0I <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> godono <strong>di</strong> proprietà importanti che rendono attraenteil loro impiego sia dal punto <strong>di</strong> vista del controllo geometrico siada quello della affidabilità del calcolo in aritmetica finita. Elenchiamo nelseguito tali proprietàP1, partizione dell’ unità,n∑Bi n (t) ≡ 1;i=02 Si osservi che la matrice A (cambiamento <strong>di</strong> base dai monomi ai <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong>)non è nonnegativa e che invece è possibile <strong>di</strong>mostrare che lo è la sua inversa (sempretriangolare superiore), ve<strong>di</strong> Esercizio 1.2


P2, non negatività in [0 , 1],B n i (t) ≥ 0, t ∈ [0 , 1], i = 0, . . . , n, ∀n ∈ IN,P3, car<strong>di</strong>nalità in 0 e 1,B n i (0) =B n i (1) =⎧⎨⎩⎧⎨⎩1 se i = 0,0 altrimenti,1 se i = n,0 altrimenti.i = 0, . . . , ni = 0, . . . , nP4, unimodalità in [0 , 1],Bi n (t) ha un unico punto stazionario in (0 , 1) che è i npunto <strong>di</strong> massimo.ed esso è unP5, recursività,B n i (t) ≡ (1 − t)B n−1i(t) + tB n−1 (t), i = 0, . . . , n.Osserviamo che P2, P3 e P4 <strong>di</strong>scendono imme<strong>di</strong>atamente dalla definizione(1). La <strong>di</strong>mostrazione della identità riportate in P1 e P5 può essere fattafacilmente per induzione su n ed è lasciata per esercizio. Esaminiamo quiinvece le implicazioni che ha questo primo gruppo <strong>di</strong> proprietà sul legame fraogni p ∈ Π n e i suoi coefficienti <strong>di</strong> Bézier.P1 intanto implica che, se p 2 (t) = ap 1 (t) + b, a, b ∈ IR, p 1 (t) = ∑ ni=0 c i Bi n (t),alloran∑p 2 (t) = (ac i + b) Bi n (t).i=0P1 e P2 implicano che, ∀t ∈ [0 , 1] p(t) è una combinazione convessa dei suoicoefficienti <strong>di</strong> Bézier, c 0 , . . . , c n . Ne consegue chep(t) ∈ CH{c 0 , . . . , c n } = [ mini=0,...,n c i , maxi=0,...,n c i], ∀t ∈ [0 , 1]. (4)P3 implica che i coefficienti <strong>di</strong> Bézier <strong>di</strong> in<strong>di</strong>ci estremi vengono riprodottiesattamente da p(t) agli estremi dell’intervallo [0 , 1], cioéi−1p(0) = c 0 , p(1) = c n . (5)3


P4 implica la pseudolocalità dei coefficienti <strong>di</strong> Bézier. Infatti, osserviamo chese il coefficiente c i in (3) viene mo<strong>di</strong>ficato, c i → ˜c i = c i +δc i , il corrispondentenuovo <strong>polinomi</strong>o ˜p(t) cambia in tutti i punti dell’intervallo [0 , 1] in quanto˜p(t) = p(t) + δc i Bi n (t). Tuttavia in i si ha il massimo della variazione <strong>di</strong>n|˜p(t) − p(t)| e quin<strong>di</strong> si parla <strong>di</strong> pseudolocalità.Esercizio 1. Si <strong>di</strong>mostrino le seguenti identità,( ) kn∑ jt j ≡ ) Bk n (t) , j = 0, . . . , n .k=j( nj(suggermento: si moltiplichi t j per 1 = [t + (1 − t)] n−j svisuppando questofattore con il binomio <strong>di</strong> Newton). Si osservi che tali identità implicano lanonnegatività dell’inversa della matrice A introdotta all’inizio del paragrafo.Un’altra importante proprieta <strong>di</strong>mostrata nel seguente paragrafo è costituitadal fatto che si può provare che i <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> formanoun sistema <strong>di</strong> funzioni strettamente totalmente positivo su (0 , 1). Essa avràun’ importante implicazione, che consiste nella possibilità <strong>di</strong> maggiorare ilnumero <strong>di</strong> variazioni <strong>di</strong> segno <strong>di</strong> un <strong>polinomi</strong>o in (0 , 1). Vedremo poi inSezione 3 la successiva conseguenza geometrica per le <strong>curve</strong> <strong>di</strong> <strong>Beziér</strong>.1.1 Con<strong>di</strong>zionamento della valutazione <strong>di</strong> un <strong>polinomi</strong>oConsiderando il con<strong>di</strong>zionamento del problema della valutazione <strong>di</strong> un <strong>polinomi</strong>oP ∈ Π n in un punto, siamo interessati a stimarne la variazione| ˜P (t) − P (t)| per t fissato in un certo intervallo [a , b] (assoluta in quantopotrebbe anche essere P (t) = 0) che è prodotta da perturbazioni sui suoicoefficienti in una base <strong>di</strong> Π n fissata. Siano quin<strong>di</strong> φ 0 , · · · , φ n , (n + 1) <strong>polinomi</strong><strong>di</strong> grado minore o uguale a n che costituiscono una base <strong>di</strong> Π n . PostoΦ := (φ 0 , · · · , φ n ) T , un generico altro <strong>polinomi</strong>o P ∈ Π n si può allora univocamenterappresentare in tale base,P (t) = c T Φ(t) ,dove c := (c 0 , . . . , c n ) T è il vettore le cui componenti sono i coefficienti del<strong>polinomi</strong>o nella base scelta. Se ora si perturbano questi coefficienti,˜c i = c i (1 + ɛ i ) , i = 0, . . . , n ,4


se si suppone che ɛ :: max n i=0 |ɛ i | , posto ˜P (t) = ˜c T Φ(t), con ˜c := (˜c 0 , . . . , ˜c n ) T ,si ha| ˜P (t) − P (t)| ≤ ɛ K Φ (P, t) ,dove si è postoK Φ (P, t) :=n∑|c i | |φ i (t)|i=0che è quin<strong>di</strong> il numero <strong>di</strong> con<strong>di</strong>zionamento del problema. Osserviamo quin<strong>di</strong>che, fissato il <strong>polinomi</strong>o P e il punto <strong>di</strong> valutazione t, a parità <strong>di</strong> massimaperturbazione relativa ɛ sui suoi coefficienti in basi <strong>di</strong>verse <strong>di</strong> Π n , la perturbazionesul valore P (t) in generale varia al variare della base. Notiamoanche che se la base utilizzata risulta non negativa in [a , b], allora si haK Φ (P, t) = ∑ ni=0 |c i| φ i (t) , che in forma più compatta si scriveK Φ (P, t) = |c| T Φ(t) , (6)dove |c| := (|c 0 |, . . . , |c n |) T . Sorge quin<strong>di</strong> spontaneo confrontare da questopunto <strong>di</strong> vista la base dei monomi che è quella usualmente utilizzata con labase <strong>di</strong> <strong>Bernstein</strong>. La seguente proposizione ci sarà utile a tale scopo.Proposizione 1. Siano φ 0 , . . . , φ n e ψ 0 , . . . , ψ n due basi <strong>di</strong> Π n entrambenonnegative in [a , b]. Se la matrice F del cambiamento <strong>di</strong> base da Φ aΨ := (ψ 0 , . . . , ψ n ) T , ossia la matrice tale che ∀t risulta Ψ(t) = F Φ(t), ènonnegativa, allora per ogni <strong>polinomi</strong>o P <strong>di</strong> Π n e per ogni t ∈ [a , b] si ha cheK Φ (P, t) ≤ K Ψ (P, t) .Dimostrazione : Dato P ∈ Π n , sia P (t) = c T Φ(t) = a T Ψ(t). Usando ilcambiamento <strong>di</strong> base si ottiene facilmente chec = F T a .Usando la <strong>di</strong>suguaglianza triangolare, per la nonnegatività <strong>di</strong> F si ha allorache |c i | ≤ ∑ nj=0 F i,j |a j | , ∀i = 0, . . . , n che in forma vettoriale si può scrivere|c| ≤ F T |a| .Quin<strong>di</strong> dalla definizione <strong>di</strong> numero <strong>di</strong> con<strong>di</strong>zionamento in (6) valida per basinonnegative si ottiene cheK Φ (P, t) = |c| T Φ(t) ≤ |a| T F Φ(t) = |a| T Ψ(t) = K Ψ (P, t) ,5


che <strong>di</strong>mostra l’asserto.Ora abbiamo visto all’inizio del paragrafo che la matrice del cambiamento<strong>di</strong> base da <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> a monomi risulta nonegativa (ve<strong>di</strong> nota).Quin<strong>di</strong>, lavorando in [0 , 1] dove entrambe le basi sono non negative si deduceche il numero <strong>di</strong> con<strong>di</strong>zionamento K relativo alla base <strong>di</strong> <strong>Bernstein</strong> risultaminore <strong>di</strong> quello relativo alla base dei monomi. Nel caso <strong>di</strong> un intervallo[a , b] qualsiasi stesso confronto si può fare fra la baseM i (x) :=(x − a)i(b − a) i , i = 0, . . . , n ,e la base <strong>di</strong> <strong>Bernstein</strong> generalizzata,( )Bi n 1 n(x) :=(x − a) i (b − x) n−i , i = 0, . . . , n ,(b − a) n iche sono entrambe nonnegative in [a , b].2 Sistemi <strong>di</strong> funzioni totalmente positiviPrima <strong>di</strong> definire un sistema <strong>di</strong> funzioni totalmente positivo su un certointervallo I ⊂ IR abbiamo bisogno <strong>di</strong> alcune definizioni e <strong>di</strong> qualche risultatopreliminare nell’ambito dell’algebra lineare.Definizione 1. Siano k ed n due interi con k ≤ n. In<strong>di</strong>cheremo con Q k,n ilseguente insieme <strong>di</strong> multiin<strong>di</strong>ci a k componenti,Q k,n := {α = (α 1 , . . . , α k ) T ∈ IN k | 1 ≤ α 1 < · · · < α k ≤ n} .Un multiin<strong>di</strong>ce α ∈ Q k,n può essere quin<strong>di</strong> pensato come una strutturautile a stalilire come estrarre k righe (colonne) da una matrice avente in tutton righe (colonne). Proseguendo in questo utilizzo, data quin<strong>di</strong> una matriceA ∈ IR n×m e α ∈ Q k,n , β ∈ Q k,m (dove k ≤ min{n , m}), in<strong>di</strong>cheremo conA[α|β] la sottomarice quadrata k × k definita come segue,⎛⎞a α1 ,β 1, · · · , a α1 ,β k⎜⎟A[α|β] := ⎝ . . . ⎠ .a αk ,β 1, · · · , a αk ,β k6


1. Composizione con funzione crescente. Se (u 0 , · · · , u n ) è un sistema<strong>di</strong> funzioni T P su I e f è una funzione crescente definita su unaltro intervallo J <strong>di</strong> IR e a valori in I, allora anche (v 0 , · · · , v n ) è unsistema <strong>di</strong> funzioni T P su J, dove v i := u i ◦ f, i = 0, . . . , n.2. Prodotto con funzione positiva. Se (u 0 , · · · , u n ) è un sistema <strong>di</strong>funzioni T P su I e f : I → IR è tale che f(t) > 0∀t ∈ I, alloraanche (v 0 , · · · , v n ) è un sistema <strong>di</strong> funzioni T P su I, dove v i (t) :=u i (t)f(t), i = 0, . . . , n.3. Prodotto con matrice T P. Se (u 0 , · · · , u n ) è un sistema <strong>di</strong> funzioniT P su I e A ∈ IR (n+1)×(n+1) è una matrice T P, allora anche(v 0 , · · · , v n ) è un sistema <strong>di</strong> funzioni T P su I, dove (v 0 (t), · · · , v n (t)) T =A(u 0 (t), · · · , u n (t)) T .Esercizio 2. Dimostrare le proprietà 1,2 e 3 per un sistema <strong>di</strong> funzioni T Psu I.Definizione 10. Data una funzione f : I → IR, la seguente quantità S − (f)<strong>di</strong>cesi numero <strong>di</strong> variazioni <strong>di</strong> f su I,S − (f) := sup m∈IN sup{S − ((f(x 0 ), · · · , f(x m )) , x 0 < · · · < x m , x i ∈ I}Il seguente teorema permette <strong>di</strong> maggiorare S − (f) quando f è combinazionelineare <strong>di</strong> un sistema <strong>di</strong> funzioni T P su I.Teorema 3. Sia (u 0 , · · · , u n ) un sistema <strong>di</strong> funzioni T P su I e sia f unaloro combinazione lineare,f(t) = u(t) T a ,dove a ∈ IR n+1 e dove si è posto u(t) := (u 0 (t), · · · , u n (t)) T . AlloraS − (f) ≤ S − (a) .Dimostrazione : Sia m ∈ IN e siano x 0 < · · · < x m , m + 1 punti <strong>di</strong>stinti maarbitrari appartenenti ad I. Posto f = (f(x 0 ), · · · , f(x m )) T , per definizionesi ha che( )u0 · · · uf = Mna .x 0 · · · x m9


Ora per ipotesi sappiamo che M è T P e quin<strong>di</strong> S − (f) ≤ S − (a) . Per l’arbitrarietàdelle ascisse scelte in I e <strong>di</strong> m, segue la tesi.Il seguente corollario del precedente teorema ne costituisce un’importanteconseguenza geometrica,Corollario 1. Sia (u 0 , · · · , u n ) un sistema <strong>di</strong> funzioni T P su I che formanoanche una partizione dell’unità. Ogni curva parametrica piana X(t) definitame<strong>di</strong>ante il poligono <strong>di</strong> controllo associato a (n + 1) punti <strong>di</strong> controllo assegnatiQ i , i − 0, . . . , n,n∑X(t) := Q i u i (t) , t ∈ I ,i=0interseca una qualsiasi retta r del piano un numero <strong>di</strong> volte minore o ugualeal numero <strong>di</strong> intersezioni fra r e il poligono stesso.La <strong>di</strong>mostrazione è lasciata per esercizio.Data la notevole portata del teorema e del corollario precedente, in graficasiamo particolarmente interessati a lavorare con basi <strong>di</strong> spazi <strong>di</strong> funzioniprefissati che formino un sistema T P. Riferendoci per il momento allo spaziodei <strong>polinomi</strong> Π n , facciamo prima vedere che la base dei monomi 1, t, · · · , t nforma un sistema ST P in (0 , +∞) e poi che la base <strong>di</strong> <strong>Bernstein</strong> forma unsistema ST P in (0 , 1).Teorema 4. La base dei monomi 1, t, · · · , t n <strong>di</strong> Π n forma un sistema ST Psu (0 , +∞) .Dimostrazione : Dobbiamo <strong>di</strong>mostrare che, se 0 < t 0 < · · · , t m , la matriceM che colloca la base dei monomi in queste ascisse risulta ST P, dove⎛⎞1 · · · t n 0⎜⎟M = ⎝ . . . ⎠ .1 · · · t n mPer il lemma <strong>di</strong> Fekete sappiamo che ciò è vero se sono positivi tutti i determinanti<strong>di</strong> sottomatrici quadrate <strong>di</strong> M (r+1)×(r+1), r ≤ n ottenute estraendoda M r + 1 righe e colonne successive e quin<strong>di</strong> del tipo della seguente M r ,⎛⎞t k i · · · t r+ki⎜M r := ⎝ . . .t k i+r · · · t r+ki+r10⎟⎠ .


Ma essendo M r = D r V r con D r = <strong>di</strong>ag(t k i , · · · , t k i+r) e con V r matrice <strong>di</strong>Vandermonde relativa alle ascisse t i , . . . , t i+r , risultadet(M r ) = det(D r ) det(V r ) .La tesi consegue osservando che det(D r ) > 0 essendo t i > 0 e anche det(V r ) >0, essendo det(V r ) = ∏(t j − t k ) .j>k≥iTeorema 5. La base dei <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> B n i (t), i = 0, . . . , n <strong>di</strong> Π nforma un sistema ST P su (0 , 1).Dimostrazione : Dobbiamo <strong>di</strong>mostrare che, se 0 < t 0 < · · · < t m < 1, lamatrice M che colloca i <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> in queste ascisse risulta ST P.Ma ricordando la definizione dei <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong>, si può fattorizzareM in M = D 1 G D 2 , conD 1 =⎛<strong>di</strong>ag((1 − t 0 ) n , ·⎞· · , (1 − t m ) n ) ,τ0 0 · · · τ0n⎜⎟G = ⎝ . . . ⎠ ,τm 0 (· · ·)τmn ( )n nD 2 = <strong>di</strong>ag( , · · · , ) ,0 ndove nella definizione <strong>di</strong> G si è posto τ i := t i /(1 − t i ) . Di conseguenza, ildeterminante <strong>di</strong> una qualsiasi sottomatrice quadrata M[α, β], k × k <strong>di</strong> Msarà dato dal prodotto fra k elementi <strong>di</strong>agonali <strong>di</strong> D 1 , k elementi <strong>di</strong>agonali<strong>di</strong> D 2 e il determinante della sottomatrice G[α, β] <strong>di</strong> G. Essendo D i , i = 1, 2entrambe <strong>di</strong>agonali a elementi <strong>di</strong>agonali positivi e G ST P in (0 , +∞), segueche tale determinante è positivo.3 Curve <strong>di</strong> <strong>Beziér</strong>Una curva <strong>di</strong> <strong>Beziér</strong> <strong>di</strong> grado n è una curva parametrica <strong>polinomi</strong>ale definitacome seguen∑X(t) = Q i Bi n (t) , t ∈ [0 , 1] , (8)i=011


dove i Q i , i = 0, . . . , n formano un set assegnato <strong>di</strong> punti or<strong>di</strong>nati. Tali puntisi <strong>di</strong>cono punti <strong>di</strong> controllo e si assegnano dando le loro coor<strong>di</strong>nate cartesianein un sistema <strong>di</strong> riferimento prefissato nel piano (se siamo interessati a definireuna curva <strong>di</strong> <strong>Beziér</strong> piana) o nello spazio. La spezzata che li congiunge<strong>di</strong>cesi poligono <strong>di</strong> controllo. Dalle proprietà dei <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> è facilederivare le seguenti proprietà della curva <strong>di</strong> <strong>Beziér</strong> definita in (8) ,PG1, invarianza per trasformazioni affiniSe T : E d → E d è una trasformazione affine (ossia tale che T (P) =AP + b con A e b rispettivamente matrice e vettore che definiscono latrasformazione affine), alloraT (X(t)) =n∑T (Q i ) Bi n (t) , t ∈ [0 , 1] .i=0PG2, convex hull∀t ∈ [0 , 1] , si ha cheX(t) ∈ CH(Q 0 , · · · , Q n ) ,dove CH(Q 0 , · · · , Q n ) denota la convex hull dei punti <strong>di</strong> controllo, ossial’unione <strong>di</strong> tutte le loro possibili combinazioni convesse.PG3, end–point interpolationPG4, controllo pseudo–localeX(0) = Q 0 , X(1) = Q n .Se per un certo j risulta ˜Q j = Q j + ∆q e, ˜Qi = Q i , per i ≠ j, detta˜X(t) la curva <strong>di</strong> <strong>Beziér</strong> relativa ai punti <strong>di</strong> controllo ˜Q i , i = 0, . . . , n,risulta˜X(t) − X(t) = B n j (t) ∆q ,ossia la curva risulta mo<strong>di</strong>ficata ∀t ∈ (0 , 1) e lo spostamento in ogni t èparallelo allo spostamento fatto sul punto <strong>di</strong> controllo e ha la lunghezzamassima in t = j/n.12


PG5, variation–<strong>di</strong>minishingSe X(t) è una curva <strong>di</strong> <strong>Beziér</strong> piana, il numero <strong>di</strong> intersezioni che essaha con una qualsiasi retta del piano è minore o uguale al numero <strong>di</strong>intersezioni che tale retta ha con il suo poligono <strong>di</strong> controllo.Inoltre è possibile <strong>di</strong>mostrare che la derivata X ′ (t) pu ò essere scritta comesegue∑n−1X ′ (t) = n (Q i+1 − Q i ) B n−1i (t) , (9)i=0dalla quale <strong>di</strong>scende che in particolare (tangenza agli estremi al poligono<strong>di</strong> controllo)X ′ (0) = n (Q 1 − Q 0 ) , X ′ (1) = n (Q n − Q n−1 ) .Inoltre dalla proprietà recursiva dei <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> <strong>di</strong>scende lalegittimità dell’uso del seguente algoritmo detto Algortmo <strong>di</strong> de Casteljau,per la valutazione <strong>di</strong> una curva <strong>di</strong> <strong>Beziér</strong> in un punto t,dove,X(t) = b n 0(t) ,b 0 i (t) = Q i , i = 0, . . . , n ,b r i (t) = (1 − t)b r−1i (t) + tb r−1i+1 (t) , i = 0, . . . , n − r, r = 1, . . . , n .Osservazione 2. Osserviamo che è sempre possibile elevare <strong>di</strong> grado unacurva <strong>di</strong> <strong>Beziér</strong>, ossia scriverla in termini <strong>di</strong> <strong>polinomi</strong> <strong>di</strong> <strong>Bernstein</strong> <strong>di</strong> gradomaggiore. In particolare, moltiplicando X(t) come scritta in (8) per 1 =[(1 − t) + t] e manipolando algebricamente quanto si ottiene si <strong>di</strong>mostra chesi può utilizzare il seguente algoritmo <strong>di</strong> degree elevation,∑n+1X(t) = c i B n+1i (t) ,i=0dovec i =in + 1 Q i−1 + n + 1 − i Q i , i = 0, . . . , n + 1 ,n + 1dove si assume per como<strong>di</strong>tà Q −1 = Q n+1 = 0. Si osservi che in generale lel’operazione inversa <strong>di</strong> degree reduction non è invece fattibile (almeno esattamente).13


Esercizio 3. Si in<strong>di</strong>vidui un modo costruttivo per stabilire quale è il gradoeffettivo <strong>di</strong> una curva <strong>di</strong> <strong>Beziér</strong> associata a un dato poligono <strong>di</strong> controllo.Oltre che poter essere elevata <strong>di</strong> grado, una curva <strong>di</strong> <strong>Beziér</strong> può esseresud<strong>di</strong>visa (algoritmo <strong>di</strong> sud<strong>di</strong>visione), ossia, scelto τ ∈ (0 , 1) è possibilerappresentare le due restrizioni X L (ξ) = X(ξ), ξ ∈ [0 , τ] e X R (ξ) = X(ξ), ξ ∈[τ , 1] della curva definita in (8) in forma <strong>di</strong> <strong>Beziér</strong>X L (ξ) =n∑Q L i Bi n ( ξ τ ) , XR (ξ) =i=0n∑i=0Q R i B n i ( ξ − τ1 − τ ) ,doveQ L i = b i 0(τ) , Q R i = b n−ii (τ) , i = 0, . . . , n ,dove si è utilizzata la notazione dell’algoritmo <strong>di</strong> de Casteljau. Tale fattopuò essere <strong>di</strong>mostrato formalmente osservando che si può scrivereb r i (t) = [(1 − t)I + tE] r Q i ,dove il simbolo I denota l’operatore identità e il simbolo E l’operatore <strong>di</strong>shift.3.1 Continuità classica e geometrica fra <strong>curve</strong> <strong>di</strong> <strong>Beziér</strong>Consideriamo due <strong>curve</strong> parametriche C(ξ), ξ ∈ [a , b] e D(η), η ∈ [c , d]<strong>di</strong>fferenziabili fino all’or<strong>di</strong>ne m e che si connettono in un punto P ossia talicheC(b) = D(c) = P.Definizione 11. Diremo che le <strong>curve</strong> C e D si connettono con continuitàclassica C k , k ≤ m, in P se risultad j Cd j ξ (b) = dj D(c) , j = 0, . . . , k .d j ηIn pratica stiamo considerando quin<strong>di</strong> η = ξ e semplicemente ve<strong>di</strong>amo lafunzione D(η) come un prolungamento <strong>di</strong> C(ξ). Parlando <strong>di</strong> <strong>curve</strong> parametrichequesto però non è necessario in quanto siamo interessati a stu<strong>di</strong>are ilraccordo in P fra le due immagini <strong>di</strong> C e D (ossia fra le due vere e proprie<strong>curve</strong>). Introduciamo allora il concetto <strong>di</strong> continuit à geometrica G k ,14


Definizione 12. Diremo che le <strong>curve</strong> C e D si connettono con continuitàgeometrica G k , k ≤ m, in P se esiste una riparametrizzazione ammissimile(ossia strettamente monotona) w = w(η) : [c , d] → [e , f] per D, tale ched j Cd j ξ (b) = dj D(e) , j = 0, . . . , k .d j wIn particolare abbiamo focalizzato l’attenzione su G 1 e G 2 , osservandoche G 1 significa chedere che esista uno scalare ω 1 > 0 tale chedCdξ (b) = ω 1dD(b) , (10)dηla qual cosa corrisponde alla continuità del versore tangente alla curva inP. Inoltre abbiamo osservato che G 2 corrisponde a chiedere oltre a (10) cheesista un secondo scalare ω 2 tale ched 2 Cd 2 ξ (b) = d 2 Dω2 1d 2 η (b) + ω 2dD(b) ., (11)dηla qual cosa corrisponde a richiedere la continuità del versore tangente allacurva, del Frenet frame e della curvatura in P.Ve<strong>di</strong>amo quin<strong>di</strong> come si formulano in termini <strong>di</strong> restrizioni sui poligoni<strong>di</strong> controllo le con<strong>di</strong>zioni <strong>di</strong> raccordo C k e G k , k = 1, 2 quando le <strong>curve</strong>coinvolte sono <strong>curve</strong> <strong>di</strong> <strong>Beziér</strong> (che senza per<strong>di</strong>ta <strong>di</strong> generalità si possonoconsiderare dello stesso grado), dove si assume quin<strong>di</strong> [a , b] = [c , d] = [0 , 1]e C(ξ) = ∑ ni=0 c iB n i (ξ), D(η) = ∑ ni=0 d iB n i (η), con c n = d 0 = P.Per quanto riguarda i raccor<strong>di</strong> C 1 e G 1 , utilizzando (9), si ottiene rispettivamenteche deve essere∆b n−1 = ∆c 0 , (12)per C 1 e∆b n−1 = ω 1 ∆c 0 , (13)per G 1 , dove ∆ in<strong>di</strong>ca l’operatore <strong>di</strong>fferenza e ω 1 un qualsiasi scalare positivo.Analogamente il raccordo fra le due <strong>curve</strong> <strong>di</strong> <strong>Beziér</strong> sarà C 2 se, oltre a valere(12), varrà anche la seguente equazione,∆ 2 b n−2 = ∆ 2 c 0 , (14)e sarà G 2 se, oltre a valere (13), varrà anche la seguente equazione,∆ 2 b n−2 = ω 2 1 ∆ 2 c 0 + ω 2n − 1 ∆c 0 , (15)dove ω 2 in<strong>di</strong>ca un qualsiasi altro scalare.15


References[1] G. Farin (2002), Curves and Surfaces for CAGD: a practical guide,Kaufmann series in computer graphics and geometric modelling, SanFrancisco M. Kaufmann Publishers.[2] R. T. Farouki and T. N. T. Goodman (1996), On the optimal stabilityof the <strong>Bernstein</strong> basis, Mathematics of Computation 65, 1553–1566.[3] T.N.T. Goodman (1996), Total positivity and the shape of <strong>curve</strong>s,Total positivity and its applications, M. Gasca and C. Micchelli eds.,Dordrecht: Kluwer, 157–186.[4] J. Hoscheck and D. Lasser (1993), Fundamental of Computer aidedGeometric Design, Wellesley, Mass. Peters.16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!