Introduzione alle curve di Bézier

Transcript

Introduzione alle curve di Bézier
Introduzione alle curve di Bézier
Alessandra Sestini
March 16, 2015
1
Polinomi di Bernstein
Introduciamo la base polinomiale di Bernstein in quanto essa è 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,
Bin (t)
=
n
i
X
n−i j=0
n−i
j
(−1)n−i−j tn−j , i = 0, . . . , n.
Quindi, usando una notazione matriciale, è 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à 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 è 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ò quindi essere rappresentato in modo univoco per mezzo dei suoi
coefficienti ci , i = 0, . . . , n in tale base che vengono detti coefficienti di Bézier,
p(t) =
n
X
ci Bin (t).
(3)
i=0
I polinomi di Bernstein godono di proprietà importanti che rendono attraente il loro impiego sia dal punto di vista del controllo geometrico sia
da quello della affidabilità del calcolo in aritmetica finita. Elenchiamo nel
seguito tali proprietà
P1, partizione dell’ unità,
n
X
Bin (t) ≡ 1;
i=0
2
Si osservi che la matrice A (cambiamento di base dai monomi ai polinomi di Bernstein)
non è nonnegativa e che invece è possibile dimostrare che lo è la sua inversa (sempre
triangolare superiore), vedi Esercizio 1.
2
P2, non negatività in [0 , 1],
Bin (t) ≥ 0, t ∈ [0 , 1], i = 0, . . . , n, ∀n ∈ IN,
P3, cardinalità 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à in [0 , 1],
Bin (t) ha un unico punto stazionario in (0 , 1) che è
punto di massimo.
i
n
ed esso è un
P5, recursività,
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à riportate in P1 e P5 può essere fatta
facilmente per induzione su n ed è lasciata per esercizio. Esaminiamo qui
invece le implicazioni che ha questo primo gruppo di proprietà sul legame fra
ogni p ∈ Πn e i suoi coefficienti di Bézier.
Pn
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) è una combinazione convessa dei suoi
coefficienti di Bézier, 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ézier di indici estremi vengono riprodotti
esattamente da p(t) agli estremi dell’intervallo [0 , 1], cioé
p(0) = c0 , p(1) = cn .
3
(5)
P4 implica la pseudolocalità dei coefficienti di Bézier. 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à.
Esercizio 1. Si dimostrino le seguenti identità,
k
n
X
j
Bkn (t) , j = 0, . . . , n .
tj ≡
n
k=j
j
(suggermento: si moltiplichi tj per 1 = [t + (1 − t)]n−j svisuppando questo
fattore con il binomio di Newton). Si osservi che tali identità implicano la
nonnegatività dell’inversa della matrice A introdotta all’inizio del paragrafo.
Un’altra importante proprieta dimostrata nel seguente paragrafo è costituita dal fatto che si può provare che i polinomi di Bernstein formano
un sistema di funzioni strettamente totalmente positivo su (0 , 1). Essa avrà
un’ importante implicazione, che consiste nella possibilità 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ér.
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 è 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ò allora univocamente rappresentare in tale base,
P (t) = cT Φ(t) ,
dove c := (c0 , . . . , cn )T è 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̃ := (c̃0 , . . . , c̃n )T ,
si ha
|P̃ (t) − P (t)| ≤ KΦ (P, t) ,
dove si è posto
KΦ (P, t) :=
n
X
|ci | |φi (t)|
i=0
che è quindi il numero di condizionamento del problema. Osserviamo quindi
che, fissato il polinomio P e il punto di valutazione t, a parità 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
KΦ (P, t) = ni=0 |ci | φi (t) , che in forma più compatta si scrive
KΦ (P, t) = |c|T Φ(t) ,
(6)
dove |c| := (|c0 |, . . . , |cn |)T . Sorge quindi spontaneo confrontare da questo
punto di vista la base dei monomi che è quella usualmente utilizzata con la
base di Bernstein. La seguente proposizione ci sarà 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), è
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à di F si ha allora
che |ci | ≤ nj=0 Fi,j |aj | , ∀i = 0, . . . , n che in forma vettoriale si può scrivere
|c| ≤ F T |a| .
Quindi dalla definizione di numero di condizionamento in (6) 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ò 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ò 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 è 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 è TP sse essa è fattorizzabile nel prodotto di matrici
bidiagonali nonnegative a banda di ampiezza 1.
Notiamo che tale teorema implica che il prodotto di due matrici TP è
ancora una matrice TP. Tenendo presente il precedente teorema possiamo
inoltre dimostrare il seguente,
Teorema 2. Se A ∈ IRn×m è 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, è sufficiente
dimostrare l’asserto solo per il caso in cui A sia bidiagonale a banda di
7
ampiezza 1, ossia esista ` ∈ Z tale che Ai,j 6= 0 sse j−i = l oppure j−i = l+1.
Siano allora {ṽi } e {z̃i } due sequenza infinite tali che
vi se 1 ≤ i ≤ m ,
(Av)i se 1 ≤ i ≤ n ,
ṽi :=
z̃i :=
0 altrimenti.
0
altrimenti.
Osserviamo che si può scrivere
z̃i = Ai,i+` ṽi+` + Ai,i+`+1 ṽi+`+1 .
Ora, essendo A TP per ipotesi, essa necessariamente è nonnegativa e quindi,
dalla formula precedente segue che se ṽi e ṽ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
:= ṽi ,
w̃2i+1 := z̃i−` ,
Per come risulta definita quest’ultima sequenza e per quanto detto prima, si
deduce che se w̃2i e w̃2i+2 hanno lo stesso segno, ha il loro segno anche w̃2i+1 .
Quindi S − (w̃) = S − (ṽ) = S − (v). Per come è 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
:= 
(7)
.
.
.
.
t0 · · · tm
u0 (tm ) · · · un (tm )
Definizione 8. Un sistema di funzioni (u0 , ·
· · , un ) su I dicesi
T Pk (ST Pk ), k ≤
u0 · · · un
n+1 , se ogni sua matrice di collocazione M
con ti ∈ I, t1 <
t1 · · · tk
· · · < tk è 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
è T P (ST P ).
8
Osservazione 1. Se (u0 , · · · , un ) è un sistema di funzioni T P su I, allora
ui (t) ≥ 0, ∀t ∈ I, i = 0, . . . , n.
Vediamo alcune semplici proprietà di un sistema di funzioni T P su I.
1. Composizione con funzione crescente. Se (u0 , · · · , un ) è un sistema di funzioni T P su I e f è una funzione crescente definita su un
altro intervallo J di IR e a valori in I, allora anche (v0 , · · · , vn ) è un
sistema di funzioni T P su J, dove vi := ui ◦ f, i = 0, . . . , n.
2. Prodotto con funzione positiva. Se (u0 , · · · , un ) è un sistema di
funzioni T P su I e f : I → IR è tale che f (t) > 0∀t ∈ I, allora
anche (v0 , · · · , vn ) è 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 ) è un sistema di funzioni T P su I e A ∈ IR(n+1)×(n+1) è una matrice T P, allora anche
(v0 , · · · , vn ) è 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à 1,2 e 3 per un sistema di funzioni T P
su I.
Definizione 10. Data una funzione f : I → IR, la seguente quantità 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 è 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 è posto u(t) := (u0 (t), · · · , un (t))T . Allora
S − (f ) ≤ S − (a) .
9
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
Ora per ipotesi sappiamo che M è T P e quindi S − (f ) ≤ S − (a) . Per l’arbitrarietà
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à. 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 è 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
10
Per il lemma di Fekete sappiamo che ciò è 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
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 ) >
(tj − tk ) .
0, essendo det(Vr ) =
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ò 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 è posto τi := ti /(1 − ti ) . Di conseguenza, il
determinante di una qualsiasi sottomatrice quadrata M [α, β], k × k di M
sarà 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 è positivo.
11
3
Curve di Beziér
Una curva di Beziér di grado n è una curva parametrica polinomiale X :
[0 , 1] → Ed definita come segue
X(t) =
n
X
Qi Bin (t) ,
t ∈ [0 , 1] ,
(8)
i=0
dove i Qi , i = 0, . . . , n formano un set assegnato di punti ordinati. 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ér piana) o nello spazio. La spezzata che li congiunge
dicesi poligono di controllo. Dalle proprietà dei polinomi di Bernstein è facile
derivare le seguenti proprietà della curva di Beziér definita in (8) ,
PG1, invarianza per trasformazioni affini
Se 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 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
Se per un certo j risulta Q̃j = Qj + ∆q e, Q̃i = Qi , per i 6= j, detta
X̃(t) la curva di Beziér relativa ai punti di controllo Q̃i , i = 0, . . . , n,
risulta
X̃(t) − X(t) = Bjn (t) ∆q ,
12
ossia la curva risulta modificata ∀t ∈ (0 , 1) e lo spostamento in ogni t è
parallelo allo spostamento fatto sul punto di controllo e ha la lunghezza
massima in t = j/n.
PG5, variation–diminishing
Se X(t) è una curva di Beziér piana, il numero di intersezioni che essa
ha con una qualsiasi retta del piano è minore o uguale al numero di
intersezioni che tale retta ha con il suo poligono di controllo.
Inoltre, considerando che
dBin
n−1
(t) = n Bi−1
(t) − Bin−1 (t) ,
dt
è possibile verificare che la derivata X0 (t) pu ò essere scritta come segue
X0 (t) = n
n−1
X
(Qi+1 − Qi ) Bin−1 (t) ,
(9)
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à recursiva dei polinomi di Bernstein discende la
legittimità dell’uso del seguente algoritmo detto Algortmo di de Casteljau,
per la valutazione di una curva di Beziér in un punto t,
X(t) = bn0 (t) ,
dove,
b0i (t) = Qi ,
i = 0, . . . , n ,
bri (t) = (1 − t)bir−1 (t) + tbr−1
(t)
,
i
= 0, . . . , n − r, r = 1, . . . , n .
i+1
Osservazione 2. Osserviamo che è sempre possibile elevare di grado una
curva di Beziér, ossia scriverla in termini di polinomi di Bernstein di grado
maggiore. In particolare, moltiplicando X(t) come scritta in (8) per 1 =
[(1 − t) + t] e manipolando algebricamente quanto si ottiene si dimostra che
si può utilizzare il seguente algoritmo di degree elevation,
X(t) =
n+1
X
ci Bin+1 (t) ,
i=0
13
dove
n+1−i
i
Qi−1 +
Qi , i = 0, . . . , n + 1 ,
n+1
n+1
dove si assume per comodità Q−1 = Qn+1 = 0. Si osservi che in generale le
l’operazione inversa di degree reduction non è invece fattibile (almeno esattamente).
ci =
Esercizio 3. Si individui un modo costruttivo per stabilire quale è il grado
effettivo di una curva di Beziér associata a un dato poligono di controllo.
Oltre che poter essere elevata di grado, una curva di Beziér può essere
suddivisa (algoritmo di suddivisione), ossia, scelto τ ∈ (0 , 1) è possibile
rappresentare le due restrizioni XL (ξ) = X(ξ), ξ ∈ [0 , τ ] e XR (ξ) = X(ξ), ξ ∈
[τ , 1] della curva definita in (8) in forma di Beziér
L
X (ξ) =
n
X
ξ
QLi Bin ( ) ,
τ
i=0
R
X (ξ) =
n
X
n
QR
i Bi (
i=0
ξ−τ
),
1−τ
dove
QLi = bi0 (τ ) ,
n−i
QR
(τ ) , i = 0, . . . , n ,
i = bi
dove si è utilizzata la notazione dell’algoritmo di de Casteljau. Tale fatto
può essere dimostrato formalmente osservando che si può scrivere
bri (t) = [(1 − t)I + tE]r Qi ,
dove il simbolo I denota l’operatore identità e il simbolo E l’operatore di
shift.
3.1
Continuità classica e geometrica fra curve di Beziér
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à
classica C k , k ≤ m, in P se risulta
dj D
dj C
(b)
=
(c) , j = 0, . . . , k .
dj ξ
dj η
14
In pratica stiamo considerando quindi η = ξ + (c − b) e semplicemente
vediamo la funzione D(η) come un prolungamento di C(ξ). Parlando di
curve parametriche questo però non è 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à geometrica
Gk ,
Definizione 12. Diremo che le curve C e D si connettono con continuità
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η
(10)
la qual cosa corrisponde alla continuità del versore tangente alla curva in
P. Inoltre abbiamo osservato che G2 corrisponde a chiedere oltre a (10) che
esista un secondo scalare ω2 tale che
2
dD
d2 C
2 d D
(b)
=
ω
(b) + ω2
(b) .,
1
2
2
dξ
dη
dη
(11)
la qual cosa corrisponde a richiedere la continuità 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ér (che senza perdita di generalità si possono
considerare
Pdello stesso grado), dove
P si assume quindi [a , b] = [c , d] = [0 , 1]
e C(ξ) = ni=0 ci Bin (ξ), D(η) = ni=0 di Bin (η), con cn = d0 = P.
Per quanto riguarda i raccordi C 1 e G1 , utilizzando (9), si ottiene rispettivamente che deve essere
∆bn−1 = ∆c0 ,
(12)
per C 1 e
∆bn−1 = ω1 ∆c0 ,
15
(13)
per G1 , dove ∆ indica l’operatore differenza e ω1 un qualsiasi scalare positivo.
Analogamente il raccordo fra le due curve di Beziér sarà C 2 se, oltre a valere
(12), varrà anche la seguente equazione,
∆2 bn−2 = ∆2 c0 ,
(14)
e sarà G2 se, oltre a valere (13), varrà anche la seguente equazione,
∆2 bn−2 = ω12 ∆2 c0 +
ω2
∆c0 ,
n−1
(15)
dove ω2 indica un qualsiasi altro scalare.
3.2
Curve Beziér–spline
Data una partizione a = u0 < · · · < un = b di un intervallo [a , b], diremo che
una curva parametrica X : [a , b] → Ed è una curva Beziér–spline di grado m
se
X(u) = Xi (u) , u ∈ [ui , ui+1 ), i = 0, . . . , n − 1 ,
con
Xi (u) =
m
X
bj,i Bjm (
j=0
u − ui
),
hi
u ∈ [ui , ui+1 ) ,
dove hi = ui+1 − ui . Naturalmente, poiché siamo interessati a lavorare con
curve almeno continue, richiederemo che
bm,i−1 = b0,i ,
i = 1, . . . , n − 1 .
(16)
Utilizzando la formula di derivazione di funzioni composte e considerando
l’espressione delle derivate di curve di Beziér, si ottiene che la curva è C 1 in
[a , b] se risulta anche
∆b0,i
∆bm−1,i−1
=
,
hi−1
hi
i = 1, . . . , n − 1 .
(17)
Analogamente si ottiene che essa è C 2 in [a , b] se, oltre a valere la (16) e la
(17), risulta anche
∆2 bm−2,i−1
∆2 b0,i
=
,
h2i−1
h2i
16
i = 1, . . . , n − 1 .
(18)
La curva risulta invece G1 in [a , b] se, oltre a valere la (16), esistono degli
scalari positivi ωi , i = 1, . . . , n − 1, tali che
∆bm−1,i−1
∆b0,i
= ωi
,
hi−1
hi
i = 1, . . . , n − 1 .
(19)
Si noti che tale richiesta assicura la continuità del versore tangente che è una
grandezza indipendente dalla parametrizzazione. Infine la curva risulterà G2
in [a , b] se, oltre a valere la (16) e la (19), esisteranno anche degli ulteriori
scalari γi , i = 1, . . . , n − 1, tali che
2
γi ∆b0,i
∆2 bm−2,i−1
2 ∆ b0,i
,
=
ω
+
i
2
2
hi−1
hi
m − 1 hi
i = 1, . . . , n − 1 .
(20)
Se la curva è G2 (o anche ovviamente C 2 ), oltre alla continuità del versore
tangente è garantita anche quella del Frenet frame e della curvatura.
4
Interpolazione con Beziér–spline cubiche
In questa sezione vediamo come sia possibile risolvere due diversi problemi
di interpolazione mediante curve Beziér–spline cubiche. Il primo problema
è un problema di interpolazione di Hermite che prevede assegnati come dati
le coppie di punti e vettore (Pi , vi ) , i = 0, . . . , n e determina X imponendo
che
X(ui ) = Pi , X0 (ui ) = vi , i = 0, . . . , n
Con semplici calcoli, avendo scelto m = 3, se verifica che questo equivale a
definire i punti di controllo come segue,
b0,i = Pi ,
b1,i = Pi + h3i vi
b3,i = Pi+1 , b2,i = Pi+1 − h3i vi+1 .
(21)
Si noti che lo schema risulta quindi l ocale in quanto ogni coppia di dati
(Pi , vi ) influenza solo due segmenti polinomiali della curva. Naturalmente
la Beziér–spline cubica X cosı̀ definita globalmente avrà regolarità C 1 e la
qualità della sua forma dipenderà notevolmente da come sono stati scelti i
vettori tangenti vi assegnati in input insieme ai punti da interpolare. Per
ovviare al problema della scelta dei versori tangenti, si può incrementare la
richiesta di regolarità della cirva, passando all’individuazione di una Beziér–
spline cubica C 2 che interpoli soltanto i punti Pi , i = 0, . . . , n (interpolazione
17
di Lagrange). In questo caso possiamo sempre utilizzare la (21) [er definire
i punti di controllo ma considerando ora i vi , i = 0, . . . , n come incognite.
Andando ad imporre le condizioni in (18), con qualche calcolo si ottengono
le seguenti equazioni,
µi vi−1 + 2 vi + (1 − µi ) vi+1 = 3[µi
Pi+1 − Pi
Pi − Pi−1
+ (1 − µi )
],
hi−1
hi
dove µi = hi /(hi−1 + hi ) e i = 1, . . . , n − 1 . Dato chetali equazioni sono solo
n − 1, per poter determinare un’unica interpolante occorrerà aggiungere 2
condizioni agli estremi. Per esempio si possono considerare v0 e vn note o si
può imporre la condizione di not a knot in u1 e in un−1 o anche la condizione
di degree reduction nei due segmenti estremi. Nel primo caso si impone che
∆3 b0,i
∆3 b0,i−1
=
,
h3i−1
h3i
i = 1 and i = n − 1 .
Nel secondo si impone che
∆3 b0,n−1
∆3 b0,0
=
= 0.
h30
h3n−1
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.
18