Untitled - Park Expo

Introduzione ai polinomi di Bernstein
e alle loro applicazioni grafiche
Alessandra Sestini
March 13, 2014
1
Polinomi di Bernstein
Introduciamo la base polinomiale di Bernstein in quanto essa `e lo standard
utilizzato nel CAGD per la rappresentazione di curve parametriche polinomiali.
I polinomi di Bernstein di grado n sono n + 1 e sono definiti come segue 1 ,
n
n
Bi (t) :=
ti (1 − t)n−i , i = 0, . . . , n,
(1)
i
n
n!
.
dove
indica il coefficiente binomiale i! (n−i)!
i
Tali polinomi costituiscono una base per lo spazio Πn dei polinomi di
grado ≤ n. Infatti, mediante lo sviluppo del binomio di Newton di (1 − t)n−i ,
si ricava facilmente la seguente formula,
X
n−i n
n−i
n
Bi (t) =
(−1)n−i−j tn−j , i = 0, . . . , n.
i
j
j=0
Quindi, usando una notazione matriciale, `e possibile esprimere i polinomi di
Bernstein in termini della base canonica 1, t, . . . , tn come segue,




B0n (t)
1
 .. 
 . 
(2)
 .  = A  ..  ,
n
n
Bn (t)
t
1
Si osserva che, per comodit`
a di notazione nel seguito si considerano definiti e pari
identicamente a 0 anche Bin (t), i < 0 e Bin (t), i > n.
1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figure 1: Grafico in [0 , 1] dei 4 polinomi di Bernstein cubici.
dove A `e una matrice di dimensione (n + 1) × (n + 1)che risulta triangolare
n
superiore 2 e con elementi diagonali non nulli, Ai,i =
. Ogni polinomio
i
p ∈ Πn pu`o quindi essere rappresentato in modo univoco per mezzo dei suoi
coefficienti ci , i = 0, . . . , n in tale base che vengono detti coefficienti di B´ezier,
p(t) =
n
X
ci Bin (t).
(3)
i=0
I polinomi di Bernstein godono di propriet`a importanti che rendono attraente il loro impiego sia dal punto di vista del controllo geometrico sia
da quello della affidabilit`a del calcolo in aritmetica finita. Elenchiamo nel
seguito tali propriet`a
P1, partizione dell’ unit`
a,
n
X
Bin (t) ≡ 1;
i=0
2
Si osservi che la matrice A (cambiamento di base dai monomi ai polinomi di Bernstein)
non `e nonnegativa e che invece `e possibile dimostrare che lo `e la sua inversa (sempre
triangolare superiore), vedi Esercizio 1.
2
P2, non negativit`
a in [0 , 1],
Bin (t) ≥ 0, t ∈ [0 , 1], i = 0, . . . , n, ∀n ∈ IN,
P3, cardinalit`
a in 0 e 1,
Bin (0)
=

 1

Bin (1) =
se i = 0,
i = 0, . . . , n
0
altrimenti,

 1

se i = n,
i = 0, . . . , n
0
altrimenti.
P4, unimodalit`
a in [0 , 1],
Bin (t) ha un unico punto stazionario in (0 , 1) che `e
punto di massimo.
i
n
ed esso `e un
P5, recursivit`
a,
n−1
Bin (t) ≡ (1 − t)Bin−1 (t) + tBi−1
(t), i = 0, . . . , n.
Osserviamo che P2, P3 e P4 discendono immediatamente dalla definizione
(1). La dimostrazione della identit`a riportate in P1 e P5 `e lasciata per
esercizio. Esaminiamo qui invece le implicazioni che ha questo primo gruppo
di propriet`a sul legame fra ogni p ∈ Πn e i suoi coefficienti di B´
ezier.
P
n
n
P1 intanto implica che, se p2 (t) = ap1 (t) + b, a, b ∈ IR, p1 (t) =
i=0 ci Bi (t),
allora
n
X
p2 (t) =
(aci + b) Bin (t).
i=0
P1 e P2 implicano che, ∀t ∈ [0 , 1] p(t) `e una combinazione convessa dei suoi
coefficienti di B´ezier, c0 , . . . , cn . Ne consegue che
p(t) ∈ CH{c0 , . . . , cn } = [ min ci , max ci ], ∀t ∈ [0 , 1].
i=0,...,n
i=0,...,n
(4)
P3 implica che i coefficienti di B´ezier di indici estremi vengono riprodotti
esattamente da p(t) agli estremi dell’intervallo [0 , 1], cio`e
p(0) = c0 , p(1) = cn .
3
(5)
P4 implica la pseudolocalit`a dei coefficienti di B´ezier. Infatti, osserviamo che
se il coefficiente ci in (3) viene modificato, ci → c˜i = ci +δci , il corrispondente
nuovo polinomio p˜(t) cambia in tutti i punti dell’intervallo [0 , 1] in quanto
p˜(t) = p(t) + δci Bin (t). Tuttavia in ni si ha il massimo della variazione di
|˜
p(t) − p(t)| e quindi si parla di pseudolocalit`a.
Esercizio 1. Si dimostrino le seguenti identit`a,
k
n
X
j
Bkn (t) , j = 0, . . . , n .
tj ≡
n
k=j
j
(6)
(suggermento: si moltiplichi tj per 1 = [t + (1 − t)]n−j svisuppando questo
fattore con il binomio di Newton). Si osservi che tali identit`a implicano la
nonnegativit`a dell’inversa della matrice A introdotta all’inizio del paragrafo.
Un’altra importante proprieta dimostrata nel seguente paragrafo `e costituita dal fatto che si pu`o provare che i polinomi di Bernstein formano
un sistema di funzioni strettamente totalmente positivo su (0 , 1). Essa avr`a
un’ importante implicazione, che consiste nella possibilit`a di maggiorare il
numero di variazioni di segno di un polinomio in (0 , 1). Vedremo poi in
Sezione 3 la successiva conseguenza geometrica per le curve di Bezi´er.
1.1
Condizionamento della valutazione di un polinomio
Considerando il condizionamento del problema della valutazione di un polinomio P ∈ Π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 quanto
potrebbe anche essere P (t) = 0) che `e prodotta da perturbazioni sui suoi
coefficienti in una base di Πn fissata. Siano quindi φ0 , · · · , φn , (n + 1) polinomi di grado minore o uguale a n che costituiscono una base di Πn . Posto
Φ := (φ0 , · · · , φn )T , un generico altro polinomio P ∈ Πn si pu`o allora univocamente rappresentare in tale base,
P (t) = cT Φ(t) ,
dove c := (c0 , . . . , cn )T `e il vettore le cui componenti sono i coefficienti del
polinomio nella base scelta. Se ora si perturbano questi coefficienti,
c˜i = ci (1 + i ) ,
4
i = 0, . . . , n ,
se si suppone che :: maxni=0 |i | , posto P˜ (t) = c˜T Φ(t), con c˜ := (˜
c0 , . . . , c˜n )T ,
si ha
|P˜ (t) − P (t)| ≤ KΦ (P, t) ,
dove si `e posto
KΦ (P, t) :=
n
X
|ci | |φi (t)|
i=0
che `e quindi il numero di condizionamento del problema. Osserviamo quindi
che, fissato il polinomio P e il punto di valutazione t, a parit`a di massima
perturbazione relativa sui suoi coefficienti in basi diverse di Πn , la perturbazione sul valore P (t) in generale varia al variare della base. Notiamo
anche che sePla base utilizzata risulta non negativa in [a , b], allora si ha
u compatta si scrive
KΦ (P, t) = ni=0 |ci | φi (t) , che in forma pi`
KΦ (P, t) = |c|T Φ(t) ,
(7)
dove |c| := (|c0 |, . . . , |cn |)T . Sorge quindi spontaneo confrontare da questo
punto di vista la base dei monomi che `e quella usualmente utilizzata con la
base di Bernstein. La seguente proposizione ci sar`a utile a tale scopo.
Proposizione 1. Siano φ0 , . . . , φn e ψ0 , . . . , ψn due basi di Πn entrambe
nonnegative in [a , b]. Se la matrice F del cambiamento di base da Φ a
Ψ := (ψ0 , . . . , ψn )T , ossia la matrice tale che ∀t risulta Ψ(t) = F Φ(t), `e
nonnegativa, allora per ogni polinomio P di Πn e per ogni t ∈ [a , b] si ha che
KΦ (P, t) ≤ KΨ (P, t) .
Dimostrazione : Dato P ∈ Πn , sia P (t) = cT Φ(t) = aT Ψ(t). Usando il
cambiamento di base si ottiene facilmente che
c = FT a.
Usando laP
disuguaglianza triangolare, per la nonnegativit`a di F si ha allora
che |ci | ≤ nj=0 Fj,i |aj | , ∀i = 0, . . . , n che in forma vettoriale si pu`o scrivere
|c| ≤ F T |a| .
Quindi dalla definizione di numero di condizionamento in (7) valida per basi
nonnegative si ottiene che
KΦ (P, t) = |c|T Φ(t) ≤ |a|T F Φ(t) = |a|T Ψ(t) = KΨ (P, t) ,
5
che dimostra l’asserto.
Ora abbiamo visto all’inizio del paragrafo che la matrice del cambiamento
di base da polinomi di Bernstein a monomi risulta nonegativa (vedi nota).
Quindi, lavorando in [0 , 1] dove entrambe le basi sono non negative si deduce
che il numero di condizionamento K relativo alla base di Bernstein risulta
minore di quello relativo alla base dei monomi. Nel caso di un intervallo
[a , b] qualsiasi stesso confronto si pu`o fare fra la base
Mi (x) :=
(x − a)i
, i = 0, . . . , n ,
(b − a)i
e la base di Bernstein generalizzata,
1
n
n
(x − a)i (b − x)n−i , i = 0, . . . , n ,
Bi (x) :=
n
i
(b − a)
che sono entrambe nonnegative in [a , b].
2
Sistemi di funzioni totalmente positivi
Prima di definire un sistema di funzioni totalmente positivo su un certo
intervallo I ⊂ IR abbiamo bisogno di alcune definizioni e di qualche risultato
preliminare nell’ambito dell’algebra lineare.
Definizione 1. Siano k ed n due interi con k ≤ n. Indicheremo con Qk,n il
seguente insieme di multiindici a k componenti,
Qk,n := {α = (α1 , . . . , αk )T ∈ INk | 1 ≤ α1 < · · · < αk ≤ n} .
Un multiindice α ∈ Qk,n pu`o essere quindi pensato come una struttura
utile a stabilire come estrarre k righe (colonne) da una matrice avente in tutto
n righe (colonne). Proseguendo in questo utilizzo, data quindi una matrice
A ∈ IRn×m e α ∈ Qk,n , β ∈ Qk,m (dove k ≤ min{n , m}), indicheremo con
A[α|β] la sottomarice quadrata k × k definita come segue,


aα1 ,β1 , · · · , aα1 ,βk

..
..
..  .
A[α|β] := 
.
.
. 
aαk ,β1 , · · · , aαk ,βk
6
Definizione 2. Dicesi minore di ordine k di una matrice A ∈ IRn×m il determinante di una sua qualunque sottomatrice quadrata A[α|β], α ∈ Qk,n , β ∈
Qk,m , k ≤ min{n , m} .
Definizione 3. A ∈ IRn×m dicesi totalmente positiva di ordine k, con k ≤
min{n , m}, e si scrive A ∈ T Pk , se tutti i suoi minori di ordine ≤ k sono
nonnegativi.
Definizione 4. A ∈ IRn×m dicesi strettamente totalmente positiva di ordine
k, k ≤ min{n , m}, e si scrive A ∈ ST Pk , se tutti i suoi minori di ordine ≤ k
sono positivi.
Definizione 5. A ∈ IRn×m dicesi totalmente positiva e si scrive A ∈ T P se
tutti i suoi minori di ordine ≤ min{n , m}, sono nonnegativi.
Definizione 6. A ∈ IRn×m dicesi strettamente totalmente positiva e si scrive
A ∈ ST P se tutti i suoi minori di ordine ≤ min{n , m}, sono positivi.
A riguardo di queste matrici si enunciano il seguente lemma, detto lemma
di Fekete, e il successivo teorema,
Lemma 1. A ∈ IRn×m `e STP sse sono positivi tutti i minori delle sue sottomatrici quadrate A[α|β] con α ∈ Qk,n , β ∈ Qk,m , k ≤ min{n , m}, tali che
αi+1 = αi + 1, βi+1 = βi + 1 , i = 1, . . . , k − 1 .
Teorema 1. A ∈ IRn×m `e TP sse essa `e fattorizzabile nel prodotto di matrici
bidiagonali nonnegative a banda di ampiezza 1.
Tenendo presente il precedente teorema possiamo dimostrare il seguente,
Teorema 2. Se A ∈ IRn×m `e TP allora, ∀v ∈ IRm , risulta
S − (Av) ≤ S − (v) ,
dove S − (v) indica il numero di variazioni di segno nel vettore v.
Dimostrazione : Osserviamo che, grazie al teorema precedente, `e sufficiente
dimostrare l’asserto solo per il caso in cui A sia bidiagonale a banda di
ampiezza 1, ossia esista ` ∈ Z tale che Ai,j 6= 0 sse j−i = l oppure j−i = l+1.
Siano allora {˜
vi } e {˜
zi } due sequenza infinite tali che
(Av)i se 1 ≤ i ≤ n ,
vi se 1 ≤ i ≤ m ,
v˜i :=
z˜i :=
0 altrimenti.
0
altrimenti.
7
Osserviamo che si pu`o scrivere
z˜i = Ai,i+` v˜i+` + Ai,i+`+1 v˜i+`+1 .
Ora, essendo A TP per ipotesi, essa necessariamente `e nonnegativa e quindi,
dalla formula precedente segue che se v˜i e v˜i+1 sono concordi, z˜i−` ha il loro
segno. A partire da queste due sequenze, definiamo allora una terza sequenza,
{w˜i } come segue,
w˜2i
:= v˜i ,
w˜2i+1 := z˜i−` ,
Per come risulta definita quest’ultima sequenza e per quanto detto prima, si
deduce che se w2i e w2i+2 hanno lo stesso segno, ha il loro segno anche w2i+1 .
Quindi S − (w)
˜ = S − (˜
v ) = S − (v). Per come `e definita la sequenza z˜, risulta
naturalmente S − (Av) = S − (˜
z ) e, essendo z˜ una sottosequenza (infinita) di
w,
˜ risulta anche S − (Av) = S − (˜
z ) ≤ S − (w)
˜ . Se ne deduce quindi la tesi.
Definizione 7. Sia I un intervallo della retta reale e sia (u0 , · · · , un ) un
sistema di funzioni su I assegnate, ui : I → IR, i = 0, . . . , n. Presi ti ∈ I, i =
0, . . . , m con t0 < · · · < tm , la seguente matrice M ∈ IR(m+1)×(n+1) dicesi
matrice di collocazione del sistema (u0 , · · · , un ) nelle ascisse t0 , . . . , tm ,


u0 (t0 ) · · · un (t0 )
u0 · · · un


..
..
..
M =M
:= 
(8)
.
.
.
.
t0 · · · tm
u0 (tm ) · · · un (tm )
Definizione 8. Un sistema di funzioni
su I dicesi T Pk (ST Pk )
(u0 , · · · , un ) u0 · · · un
se ogni sua matrice di collocazione M
con ti ∈ I, t1 < · · · <
t1 · · · tk
tk `e T Pk (ST Pk ).
Definizione 9. Un sistema di funzioni
) su I dicesi T P (ST P ) se
(u0 , · · · , un
u0 · · · un
ogni sua matrice di collocazione M
con ti ∈ I, t0 < · · · < tn
t0 · · · tn
`e T P (ST P ).
Osservazione 1. Se (u0 , · · · , un ) `e un sistema di funzioni T P su I, allora
ui (t) ≥ 0, ∀t ∈ I, i = 0, . . . , n.
Vediamo alcune semplici propriet`a di un sistema di funzioni T P su I.
8
1. Composizione con funzione crescente. Se (u0 , · · · , un ) `e un sistema di funzioni T P su I e f `e una funzione crescente definita su un
altro intervallo J di IR e a valori in I, allora anche (v0 , · · · , vn ) `e un
sistema di funzioni T P su J, dove vi := ui ◦ f, i = 0, . . . , n.
2. Prodotto con funzione positiva. Se (u0 , · · · , un ) `e un sistema di
funzioni T P su I e f : I → IR `e tale che f (t) > 0∀t ∈ I, allora
anche (v0 , · · · , vn ) `e un sistema di funzioni T P su I, dove vi (t) :=
ui (t)f (t), i = 0, . . . , n.
3. Prodotto con matrice T P. Se (u0 , · · · , un ) `e un sistema di funzioni T P su I e A ∈ IR(n+1)×(n+1) `e una matrice T P, allora anche
(v0 , · · · , vn ) `e un sistema di funzioni T P su I, dove (v0 (t), · · · , vn (t))T =
A(u0 (t), · · · , un (t))T .
Esercizio 2. Dimostrare le propriet`a 1,2 e 3 per un sistema di funzioni T P
su I.
Definizione 10. Data una funzione f : I → IR, la seguente quantit`a S − (f )
dicesi numero di variazioni di f su I,
S − (f ) := supm∈IN sup{S − ((f (x0 ), · · · , f (xm )) , x0 < · · · < xm , xi ∈ I}
Il seguente teorema permette di maggiorare S − (f ) quando f `e combinazione lineare di un sistema di funzioni T P su I.
Teorema 3. Sia (u0 , · · · , un ) un sistema di funzioni T P su I e sia f una
loro combinazione lineare,
f (t) = u(t)T a ,
dove a ∈ IRn+1 e dove si `e posto u(t) := (u0 (t), · · · , un (t))T . Allora
S − (f ) ≤ S − (a) .
Dimostrazione : Sia m ∈ IN e siano x0 < · · · < xm , m + 1 punti distinti ma
arbitrari appartenenti ad I. Posto f = (f (x0 ), · · · , f (xm ))T , per definizione
si ha che
u0 · · · un
f = M
a.
x0 · · · xm
9
Ora per ipotesi sappiamo che M `e T P e quindi S − (f ) ≤ S − (a) . Per l’arbitrariet`a
delle ascisse scelte in I e di m, segue la tesi.
Il seguente corollario del precedente teorema ne costituisce un’importante
conseguenza geometrica,
Corollario 1. Sia (u0 , · · · , un ) un sistema di funzioni T P su I che formano
anche una partizione dell’unit`a. Ogni curva parametrica piana X(t) definita
mediante il poligono di controllo associato a (n + 1) punti di controllo assegnati Qi , i − 0, . . . , n,
X(t) :=
n
X
Qi ui (t) ,
t∈I,
i=0
interseca una qualsiasi retta r del piano un numero di volte minore o uguale
al numero di intersezioni fra r e il poligono stesso.
La dimostrazione `e lasciata per esercizio.
Data la notevole portata del teorema e del corollario precedente, in grafica
siamo particolarmente interessati a lavorare con basi di spazi di funzioni
prefissati che formino un sistema T P. Riferendoci per il momento allo spazio
dei polinomi Πn , facciamo prima vedere che la base dei monomi 1, t, · · · , tn
forma un sistema ST P in (0 , +∞) e poi che la base di Bernstein forma un
sistema ST P in (0 , 1).
Teorema 4. La base dei monomi 1, t, · · · , tn di Πn forma un sistema ST P
su (0 , +∞) .
Dimostrazione : Dobbiamo dimostrare che, se 0 < t0 < · · · , tm , la matrice
M che colloca la base dei monomi in queste ascisse risulta ST P, dove


1 · · · tn0

..  .
M =  ... ...
. 
n
1 · · · tm
Per il lemma di Fekete sappiamo che ci`o `e vero se sono positivi tutti i determinanti di sottomatrici quadrate di M (r+1)×(r+1), r ≤ n ottenute estraendo
da M r + 1 righe e colonne successive e quindi del tipo della seguente Mr ,


tki · · · tr+k
i

..
..  .
Mr :=  ...
.
. 
r+k
k
ti+r · · · ti+r
10
Ma essendo Mr = Dr Vr con Dr = diag(tki , · · · , tki+r ) e con Vr matrice di
Vandermonde relativa alle ascisse ti , . . . , ti+r , risulta
det(Mr ) = det(Dr ) det(Vr ) .
La tesi consegue osservando
Y che det(Dr ) > 0 essendo ti > 0 e anche det(Vr ) >
0, essendo det(Vr ) =
(tj − tk ) .
j>k≥i
Teorema 5. La base dei polinomi di Bernstein Bin (t), i = 0, . . . , n di Πn
forma un sistema ST P su (0 , 1).
Dimostrazione : Dobbiamo dimostrare che, se 0 < t0 < · · · < tm < 1, la
matrice M che colloca i polinomi di Bernstein in queste ascisse risulta ST P.
Ma ricordando la definizione dei polinomi di Bernstein, si pu`o fattorizzare
M in M = D1 G D2 , con
D1 = 
diag((1 − t0 )n , · 
· · , (1 − tm )n ) ,
τ00 · · · τ0n

..
..  ,
G =  ...
.
. 
D2
0
n
τm
· · · τm n
n
= diag(
,··· ,
),
0
n
dove nella definizione di G si `e posto τi := ti /(1 − ti ) . Di conseguenza, il
determinante di una qualsiasi sottomatrice quadrata M [α, β], k × k di M
sar`a dato dal prodotto fra k elementi diagonali di D1 , k elementi diagonali
di D2 e il determinante della sottomatrice G[α, β] di G. Essendo Di , i = 1, 2
entrambe diagonali a elementi diagonali positivi e G ST P in (0 , +∞), segue
che tale determinante `e positivo.
3
Curve di Bezi´
er
Una curva di Bezi´er di grado n `e una curva parametrica polinomiale X :
[0 , 1] → Ed , definita come segue
X(t) =
n
X
Qi Bin (t) ,
i=0
11
t ∈ [0 , 1] ,
(9)
dove i Qi , i = 0, . . . , n formano un set di punti ordinati assegnato in Ed .
Tali punti si dicono punti di controllo e si assegnano dando le loro coordinate cartesiane in un sistema di riferimento prefissato nel piano (se siamo
interessati a definire una curva di Bezi´er piana) o nello spazio. La spezzata
che li congiunge dicesi poligono di controllo. Dalle propriet`a dei polinomi di
Bernstein `e facile derivare le seguenti propriet`a della curva di Bezi´er definita
in (9) ,
PG1, invarianza per trasformazioni affini
Se T : E d → E d `e una trasformazione affine (ossia tale che T (P) =
AP + b con A e b rispettivamente matrice e vettore che definiscono la
trasformazione affine), allora
T (X(t)) =
n
X
T (Qi ) Bin (t) ,
t ∈ [0 , 1] .
i=0
PG2, convex hull
∀t ∈ [0 , 1] , si ha che
X(t) ∈ CH(Q0 , · · · , Qn ) ,
dove CH(Q0 , · · · , Qn ) denota la convex hull dei punti di controllo, ossia
l’unione di tutte le loro possibili combinazioni convesse.
PG3, end–point interpolation
X(0) = Q0 ,
X(1) = Qn .
PG4, controllo pseudo–locale
˜ j = Qj + ∆q e, Q
˜ i = Qi , per i 6= j, detta
Se per un certo j risulta Q
˜
˜ i , i = 0, . . . , n,
X(t)
la curva di Bezi´er relativa ai punti di controllo Q
risulta
˜
X(t)
− X(t) = Bjn (t) ∆q ,
ossia la curva risulta modificata ∀t ∈ (0 , 1) e lo spostamento in ogni t `e
parallelo allo spostamento fatto sul punto di controllo e ha la lunghezza
massima in t = j/n.
12
PG5, variation–diminishing
Se X(t) `e una curva di Bezi´er piana, il numero di intersezioni che essa
ha con una qualsiasi retta del piano `e minore o uguale al numero di
intersezioni che tale retta ha con il suo poligono di controllo.
Inoltre `e possibile dimostrare che la derivata X0 (t) pu `o essere scritta come
segue
n−1
X
X0 (t) = n
(Qi+1 − Qi ) Bin−1 (t) ,
(10)
i=0
dalla quale discende che in particolare (tangenza agli estremi al poligono
di controllo)
X0 (0) = n (Q1 − Q0 ) ,
X0 (1) = n (Qn − Qn−1 ) .
Inoltre dalla propriet`a recursiva dei polinomi di Bernstein discende la
legittimit`a dell’uso del seguente algoritmo detto Algortmo di de Casteljau,
per la valutazione di una curva di Bezi´er in un punto t,
X(t) = bn0 (t) ,
dove,
b0i (t) = Qi ,
i = 0, . . . , n ,
r−1
r−1
r
bi (t) = (1 − t)bi (t) + tbi+1 (t) , i = 0, . . . , n − r, r = 1, . . . , n .
Osservazione 2. Osserviamo che `e sempre possibile elevare di grado una
curva di Bezi´er, ossia scriverla in termini di polinomi di Bernstein di grado
maggiore. In particolare, moltiplicando X(t) come scritta in (9) per 1 =
[(1 − t) + t] e manipolando algebricamente quanto si ottiene si dimostra che
si pu`o utilizzare il seguente algoritmo di degree elevation,
X(t) =
n+1
X
ci Bin+1 (t) ,
i=0
dove
n+1−i
i
Qi−1 +
Qi , i = 0, . . . , n + 1 ,
n+1
n+1
dove si assume per comodit`a Q−1 = Qn+1 = 0. Si osservi che in generale le
l’operazione inversa di degree reduction non `e invece fattibile (almeno esattamente).
ci =
13
Esercizio 3. Si individui un modo costruttivo per stabilire quale `e il grado
effettivo di una curva di Bezi´er associata a un dato poligono di controllo.
Oltre che poter essere elevata di grado, una curva di Bezi´er pu`o essere
suddivisa (algoritmo di suddivisione), ossia, scelto τ ∈ (0 , 1) `e possibile
rappresentare le due restrizioni XL (ξ) = X(ξ), ξ ∈ [0 , τ ] e XR (ξ) = X(ξ), ξ ∈
[τ , 1] della curva definita in (9) in forma di Bezi´er
XL (ξ) =
n
X
i=0
ξ
QLi Bin ( ) ,
τ
XR (ξ) =
n
X
n
QR
i Bi (
i=0
ξ−τ
),
1−τ
dove
QLi = bi0 (τ ) ,
n−i
QR
(τ ) , i = 0, . . . , n ,
i = bi
dove si `e utilizzata la notazione dell’algoritmo di de Casteljau. Tale fatto
pu`o essere dimostrato formalmente osservando che si pu`o scrivere
bri (t) = [(1 − t)I + tE]r Qi ,
dove il simbolo I denota l’operatore identit`a e il simbolo E l’operatore di
shift.
3.1
Continuit`
a classica e geometrica fra curve parametriche
Consideriamo due curve parametriche C(ξ), ξ ∈ [a , b] e D(η), η ∈ [c , d]
differenziabili fino all’ordine m e che si connettono in un punto P ossia tali
che
C(b) = D(c) = P.
Definizione 11. Diremo che le curve C e D si connettono con continuit`a
classica C k , k ≤ m, in P se risulta
dj D
dj C
(b)
=
(c) , j = 0, . . . , k .
dj ξ
dj η
In pratica stiamo considerando quindi η = ξ e semplicemente vediamo la
funzione D(η) come un prolungamento di C(ξ). Parlando di curve parametriche questo per`o non `e necessario in quanto siamo interessati a studiare il
raccordo in P fra le due immagini di C e D (ossia fra le due vere e proprie
curve). Introduciamo allora il concetto di continuit a` geometrica Gk ,
14
Definizione 12. Diremo che le curve C e D si connettono con continuit`a
geometrica Gk , k ≤ m, in P se esiste una riparametrizzazione ammissimile
(ossia strettamente monotona) w = w(η) : [c , d] → [e , f ] per D, tale che
dj D
dj C
(b)
=
(e) , j = 0, . . . , k .
dj ξ
dj w
In particolare abbiamo focalizzato l’attenzione su G1 e G2 , osservando
che G1 significa chedere che esista uno scalare ω1 > 0 tale che
dC
dD
(b) = ω1
(b) ,
dξ
dη
(11)
la qual cosa corrisponde alla continuit`a del versore tangente alla curva in
P. Inoltre abbiamo osservato che G2 corrisponde a chiedere oltre a (11) che
esista un secondo scalare ω2 tale che
2
d2 C
dD
2 d D
(b)
=
ω
(b)
+
ω
(b) .,
2
1
d2 ξ
d2 η
dη
(12)
la qual cosa corrisponde a richiedere la continuit`a del versore tangente alla
curva, del Frenet frame e della curvatura in P.
Vediamo quindi come si formulano in termini di restrizioni sui poligoni
di controllo le condizioni di raccordo C k e Gk , k = 1, 2 quando le curve
coinvolte sono curve di Bezi´er (che senza perdita di generalit`a si possono
considerare
stesso grado), dove
quindi [a , b] = [c , d] = [0 , 1]
Pn si assume
Pdello
n
n
n
e C(ξ) = i=0 ci Bi (ξ), D(η) = i=0 di Bi (η), con cn = d0 = P.
3.2
Curve Bezi´
er–spline
Fissata una partizione a = u0 < u1 < · · · < um−1 < um = b dell’intervallo
[a , b] , dicesi curva Bezier-spline una curva parametrica X : [a , b] → Ed
tale che X(u) = Xk (u), u ∈ Ik := [uk , uk+1 ), i = 0, . . . , m − 1 (con l’ultimo
chiuso), con
Xk (u) =
n
X
i=0
Qi,k Bin (
u − uk
),
hk
u ∈ Ik , k = 0, . . . , m − 1 ,
dove hk := uk+1 − uk , e dove Qi,k , i = 0, . . . , n, rappresenta un set ordinato
di n + 1 punti di controllo in Ed . Naturalmente affinch´e la curva non presenti
discontinuit`a occorre che si assuma
Qn,k = Q0,k+1 ,
k = 0, . . . , m − 2 .
15
(13)
Se invece si richiede che la curva sia C 1 o G1 , utilizzando (10) e la regola
di derivazione delle funzioni composte, si ottiene che oltre a dover valere (13),
rispettivamente deve essere
∆Q0,k+1
∆Qn−1,k
=
,
hk
hk+1
(14)
∆Qn−1,k = ω1 ∆Q0,k+1 ,
(15)
per C 1 e
per G1 , dove ∆ indica l’operatore differenza (rispetto al primo indice) e ω1
un qualsiasi scalare positivo. Analogamente la curva Bezi´er–spline sar`a C 2
se, oltre a valere (13) e (14), varr`a anche la seguente equazione,
∆2 Qn−2,k
∆2 Q0,k+1
=
,
h2k
h2k+1
(16)
e sar`a G2 se, oltre a valere (13) e (15), varr`a anche la seguente equazione,
∆2 bn−2 = ω12 ∆2 c0 +
ω2
∆c0 ,
n−1
(17)
dove ω2 indica un qualsiasi altro scalare. Si osservi che le condizioni ghe
garantiscono la continuit`a geometrica sono sempre indipendenti dal dominio
parametrico e dalla particolare partizione usata in esso. Si lascia inoltre per
esercizio la verifica che sia le curve Bezi´er–spline C 1 che G1 garantiscono la
continuit`a del versore tangente alla curva e che sia le curve Bezi´er–spline
C 2 che G2 garantiscono oltre a ci`o la continuit`a della curvatura e quella del
Frenet frame.
4
Spazi tensor–product di funzioni bivariate
Allo scopo di definire degli spazi di funzioni bivariate di semplice utilizzo in
applicazioni grafiche ma anche in applicazioni diverse dell’analisi numerica,
a partire da due spazi di funzioni monovariate finito-dimensionali V1 e V2 ,
introduciamo il cosiddetto spazio tensor–product V1 ⊗ V2 . Sia quindi
V1 = < A0 (u), · · · , Am (u) > ,
16
V2 = < B1 v), · · · , Bn (v) > ,
dove le Ai e le Bj sono rispettivamente funzioni definite nell’intervallo [a , b]
e nell’intervallo [c , d] e dove dim(V1 ) = m + 1, dim(V2 ) = n. + 1 Si pone
allora
m X
n
X
V1 ⊗ V2 := {q(u, v) | q(u, v) =
ci,j Ai (u)Bj (v) } .
(18)
i=0 j=0
dove i ci,j sono scalari liberamente selezionabili in R . Si noti che in forma
matriciale pi`
u compatta si pu`o anche scrivere
q(u, v) = A(u)T C B(v) ,
dove si `e utilizzato la matrice dei coefficienti C := (cij ) di dimensione (m +
1) × (n + 1) e i vettori A(u) := (A0 (u), · · · , Am (u))T ∈ Rm+1 e B(u) :=
(B0 (u), · · · , Bn (u))T ∈ Rn+1 contenenti le due basi monovariate che rispettivamente definiscono V1 e V2 . Naturalmente per definizione le funzioni di
V1 ⊗ V2 risultano definite sul dominio parametrico Ω := [a , b] × [c , d] . Si
noti inoltre che, essendo dim(V1 ) = m + 1 e dim(V2 ) = n + 1, segue facilmente che dim(V1 ⊗ V2 ) = (m + 1)(n + 1) e questo motiva il termine di
spazio prodotto con cui esso viene indicato. In sostanza questo spazio di funzioni bivariate `e costituito da funzioni scrivibili come combinazione lineare di
funzioni prodotto di funzioni monovaria- te.Grazie a questo il calcolo in un
punto (u, v) ∈ Ω di una funzione f ∈ V1 ⊗ V2 pu`o essere realizzato mediante
m + 1 (n + 1) ripetizioni di un algoritmo per la valutazione di funzioni in
V2 (V1 ) seguito da un singolo utilizzo di un algoritmo per la valutazione di
una funzione in V1 (V2 ).
In particolare vogliamo qui considerare lo spazio prodotto V1 ⊗ V2 con
V1 = Πm e V2 = Πn che per brevit`a viene indicato con Πm,n . Se in particolare
risulta m = n, esso viene detto spazio dei polinomi bi–ennesimi (bilineari se
m = n = 1, biquadratici se m = n = 2, bicubici se m = n = 3...) Usando la
base dei monomi sia in V1 che in V2 si vede facilmente che Πm,n contiene alcuni
polinomi di grado totale m + n in quanto gli appartiene il monomio um v n ,
tuttavia esso non permette di rappresentare qualunque polinomio bivariato
di grado totale ≤ N := m+n in quanto dim(Π2N ) = (N +1)(N +2)/2 > (m+
1)(n + 1). Per quanto detto prima sugli spazi prodotto, lo spazio Πn,m risulta
comunque particolarmente utile quando si intende lavorare separatemente
sulle due variabili facendo riferimento a domini di definizione rettangolari.
Un problema che viene subito in mente di affrontare in Πm,n come generalizzazione di quanto fatto ad Analisi Numerica I per il caso monovariato `e
quello dell’interpolazione polinomiale. Supposte note le terne (ui , vi , fi ), i =
17
1, . . . , (m+1)(n+1), dove si assume che i punti (ui , vi ) ∈ Ω siano distinti e che
fi = f (ui , vi ), ci si chiede se `e possibile determinare univocamente q ∈ Πm,n
tale che
q(ui , vi ) = fi , i = 1, . . . , (m + 1)(n + 1) .
Considerando il semplice caso dell’interpolazione bilineare si vede che la
risposta `e negativa in quanto se si usano per esempio
(u1 , v1 ) = (1, 0) , (u2 , v2 ) = (0, 1) , (u3 , v3 ) = (−1, 0) , (u4 , v4 ) = (0, −1)
utilizzando la base 1, u, v, uv per esprimere i polinomi di Π1,1 , per determinare
i coefficienti dell’interpolante si deve risolvere un sistema lineare con matrice
dei coefficienti singolare. L’interpolante in Πn,m risulta invece univocamente
definita se i valori della funzione da interpolare sono noti su una griglia
rettangolare di punti del dominio parametrico Ω, ossia i dati sono del tipo
(ui , vj , fi,j ),
i = 0, . . . , m , j = 0, . . . , n ,
dove fi,j = f (ui , vj ) e dove a ≤ u0 < · · · < um ≤ b e c ≤ v0 < · · · < vn ≤
d . Infatti in tal caso, essendo q(ui , vj ) = A(ui )T C B(vj ), le condizioni di
interpolazione possono essere compattamente scritte come segue
ACB T = F ,
dove F ‘e la matrice (m + 1) × (n + 1) tale che F = (fi,j ) e A (B) `e la matrice
(m + 1) × (m + 1) ((n + 1) × (n + 1)) che colloca una base di Πm (Πn ) nelle
ascisse distinte ui , i = 0, . . . , m (vj , j = 0, . . . , n). Usando per esempio la base
dei monomi si ottengono proprio le classiche matrici di Vandermonde che si
sa essere non singolari se le ascisse sono distinte (ricordiamo comunque che
utilizzare la base dei monomi non `e certo la scelta migliore...). La matrice
dei coefficienti C risulta quindi univocamente definita come C = A−1 F B −T .
Naturalmente al solito non si calcolano in pratica le inverse delle matrici A
e B T ma si ottiene C in due fasi: prima si trova la matrice Y di dimensione (m + 1) × (n + 1) tale che AY = F (risolvendo quindi n + 1 sistemi
lineari di dimensione (m + 1) × (m + 1) con la stessa matrice dei coefficienti A) e poi si determina C T tale che BC T = Y T (risolvendo quindi m + 1
sistemi lineari di dimensione (n + 1) × (n + 1) con la stessa matrice dei coefficienti B). Per esempio questo tipo di procedimento deve essere effettuato
se si usa la base di Bernstein per rappresentare i polinomi. Nella seguente
sottosezione si mostra come tale base sia effettivamente utile in grafica per
ottenere un’interpretazione geometrica dei coefficienti anche nel caso tensor
product.
18
4.1
Bezi´
er patches tensor–product
Dicesi Bezi´er patch tensor–product una superficie parametrica X : [0 , 1]2 →
Ed definita come segue,
X(u, v) =
m X
n
X
Qi,j Bim (u)Bjn (v) ,
(u, v) ∈ [0 , 1]2 ,
i=0 j=0
dove i Qi,j ∈ Ed , i = 0, . . . , m, j = 0, . . . , n sono un insieme assegnato di
punti di controllo. L’unione di tutte le spezzate che ∀i congiungono i punti
Qi,j j = 0, . . . , n e che ∀j congiungono i punti Qi,j i = 0, . . . , m formano il
Bezi´er net che costituisce quindi la generalizzazione al caso bidimensionale
tensor–product del poligono di controllo di Bezi´er. Grazie alle propriet`a dei
polinomi di Bernstein possiamo dedure le seguenti propriet`a geometriche di
tali patches,
PG1, invarianza per trasformazioni affini
Se T : E d → E d `e una trasformazione affinecon T (P) = AP + b, allora
T (X(u, v)) =
m X
n
X
T (Qi,j ) Bim (u)Bjn (v) ,
(u, v) ∈ [0 , 1]2 .
i=0 j=0
PG2, convex hull
∀(u, v) ∈ [0 , 1]2 , si ha che
X(u, v) ∈ CH(Q0,0 · · · , Qm,n ) ,
PG3, corner interpolation
X(0, 0) = Q0,0 ,
X(1, 0) = Qm,0 , X(0, 1) = Q0,n ,
X(1, 1) = Qm,n .
PG4, controllo pseudo–locale
˜ i,j = Qi,j +∆q e tutti gli
Se per una certa coppia di indici (i, j) risulta Q
˜
altri siano immutati, detto X(u, v) il patch di Bezi´er relativo al nuovo
net di controllo, risulta
˜
X(u,
v) − X(u, v) = Bim (u)Bjn (v) ∆q ,
19
ossia il patch risulta modificato ∀(u, v) ∈ (0 , 1)2 e lo spostamento in
ogni (u, v) `e parallelo allo spostamento fatto sul punto di controllo e
ha la lunghezza massima in (u, v) = (i/m, j/n). Per questo motivo i
punti (k/m, r/n), k = 0, . . . , m, r = 0, . . . , n si dicono punti dominio
del patch.
Osservazione 3. Come caso particolare si pu`o considerare una curva di
Bezi´er X(t) = (x(t), y(t)) piana di grado n avente come punti di controllo i
punti Qi = (i/n, qi ), i = 0, . . . , n. In tal caso si ha che per la (6) risulta x(t) =
t ossia la curva `e semplicemente il grafico di un polinomio di Πn (espresso
nella base di Bernstein). Analogamente nel caso del tensor-product, posto
X(u, v) = (x(u, v), y(u, v), z(u, v)) se Qi,j = (i/m, j/n, qi,j ), i = 0, . . . , m,
j = 0, . . . , n, si ha che x(u, v) = u, y(u, v) = v e quindi il patch `e semplicemente il grafico di un polinomio bivariato appartenente a Πm,n .
References
[1] G. Farin (2002), Curves and Surfaces for CAGD: a practical guide,
Kaufmann series in computer graphics and geometric modelling, San
Francisco M. Kaufmann Publishers.
[2] R. T. Farouki and T. N. T. Goodman (1996), On the optimal stability
of the Bernstein basis, Mathematics of Computation 65, 1553–1566.
[3] T.N.T. Goodman (1996), Total positivity and the shape of curves,
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 aided
Geometric Design, Wellesley, Mass. Peters.
20