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