32
Geometricke ´ modelova ´nı ´ Zbyne ˇkS ˇ ı ´r Matematicky ´u ´stav UK Matematicko-fyzika ´lnı ´ fakulta Hermitovska ´ interpolace 15. listopadu 2017 Zbyne ˇkS ˇ ı ´r (MU ´ UK) - Geometricke ´ modelova ´nı ´ 15. listopadu 2017 1 / 23

Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Geometricke modelovanı

Zbynek Sır

Matematicky ustav UKMatematicko-fyzikalnı fakulta

Hermitovska interpolace

15. listopadu 2017

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 1 / 23

Page 2: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Hermiteovska interpolace

Jedna z moznych zakladnıch konstrukcnıch uloh je sestrojit krivku,ktera inerpoluje hranicnı data

c(0),c′(0), {c′′(0)} c(1),c′(1), {c′′(1)}

Dostatecna ke konverzi obecne zadanych krivek.

–2

–1

0

1

2

0.5 1 1.5 2 2.5 3

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 2 / 23

Page 3: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Hermiteovska interpolace

Jedna z moznych zakladnıch konstrukcnıch uloh je sestrojit krivku,ktera inerpoluje hranicnı data

c(0),c′(0), {c′′(0)} c(1),c′(1), {c′′(1)}

Dostatecna ke konverzi obecne zadanych krivek.

–2

–1

0

1

2

0.5 1 1.5 2 2.5 3

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 2 / 23

Page 4: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Hermiteovska interpolace

Jedna z moznych zakladnıch konstrukcnıch uloh je sestrojit krivku,ktera inerpoluje hranicnı data

c(0),c′(0), {c′′(0)} c(1),c′(1), {c′′(1)}

Dostatecna ke konverzi obecne zadanych krivek.

–2

–1

0

1

2

0.5 1 1.5 2 2.5 3

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 2 / 23

Page 5: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Hermiteovska interpolace

Jedna z moznych zakladnıch konstrukcnıch uloh je sestrojit krivku,ktera inerpoluje hranicnı data

c(0),c′(0), {c′′(0)} c(1),c′(1), {c′′(1)}

Dostatecna ke konverzi obecne zadanych krivek.

–2

–1

0

1

2

0.5 1 1.5 2 2.5 3

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 2 / 23

Page 6: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Hermiteovska interpolace

Jedna z moznych zakladnıch konstrukcnıch uloh je sestrojit krivku,ktera inerpoluje hranicnı data

c(0),c′(0), {c′′(0)} c(1),c′(1), {c′′(1)}

Dostatecna ke konverzi obecne zadanych krivek.

–2

–1

0

1

2

0.5 1 1.5 2 2.5 3

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 2 / 23

Page 7: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Biarcs

U0

U1

P0

P1

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 3 / 23

Page 8: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Biarcs

U0

U1

P0

P1

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 3 / 23

Page 9: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Biarcs

U0

U1

P0

P1

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 3 / 23

Page 10: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Biarcs

U0

U1

P0

P1

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 3 / 23

Page 11: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Biarcs

U0

U1

P0

P1

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 3 / 23

Page 12: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Biarcs

U0

U1

P0

P1

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 3 / 23

Page 13: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Vyber vhodneho biarcu

Equal chords Parallel tangent New method

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 4 / 23

Page 14: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Vyber vhodneho biarcu

Equal chords Parallel tangent New method

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 5 / 23

Page 15: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Vyber vhodneho biarcu

Equal chords Parallel tangent New method

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 6 / 23

Page 16: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Asymptoticke zlepsovanı chyby

Error Ratio Error Ratio

1 4.972 2.23 2.233 256 3.32 10−5 5.5524 3.98 10−1 5.594 512 4.32 10−6 7.6998 1.89 10−1 2.110 1024 5.45 10−7 7.92816 4.02 10−2 4.697 2048 6.82 10−8 7.98832 5.93 10−3 6.780 4096 8.57 10−9 7.95664 1.03 10−3 5.767 8192 1.07 10−9 7.979128 1.85 10−4 5.568 16384 1.34 10−10 8.009

Aproximacnı stupen 3 nemuze byt vylepsen.

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 7 / 23

Page 17: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Polynomialnı rovinne krivky

Rovinna polynomialnı krivka je zobrazenı z omezeneho intervaluc : I → R

2 tvaru c(t) = [px(t),py (t)], kde px , py jsou polynomy v t .

Stupen c(t) definujeme jako maximum stupnu px , py .

Krivky stupne 0 jsou body, stupne 1 usecky a stupne 2 castiparabol.Krivky stupne 3 jsou pro aplikace nejdulezitejsı:

Mohou mıt inflexe.Mohou to byt prave 3d krivky s nenulovou torzı(pri zobrazenı do R

3).Mohou resit tzv. Hermitovskou C1 interpolaci.

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 8 / 23

Page 18: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Reparametrizace polynomalnıch krivek.

Uvazujme krivku

[1 + 3s − 3s2 + 3s3,1 − 6s2 + 6s3]

na intervalu s ∈ [−1,2] a reparametrizujme jı na standartnı intervalJ = [0,1]. Co zustane stejne, co se zmenı?

Dostavame

[−8 + 54t − 108t2 + 81t3,−11 + 90t − 216t2 + 162t3]

pro t ∈ [0,1].

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 9 / 23

Page 19: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Baze kubickych polynomu

Monomialnı baze M = (1, t , t2, t3), v te je vlastne krivka[−8 + 54t − 108t2 + 81t3,−11 + 90t − 216t2 + 162t3] vyjadrena.

Muzeme ovsem upravit jako[−8,−11] + [54,90]t + [108,−216]t2 + [81,162]t3.

Jakou jinou bazi muzeme zvolit, aby se neco zjednodusilo nebozlepsilo?

Bernsteinova kubicka baze B = (B30(t),B

31(t),B

32(t),B

33(t)), kde

Bni (t) =

(ni

)

t i(1 − t)n−i .

Fergusonova interepolacnı baze (definovana pozdeji).

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 10 / 23

Page 20: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Fergusonova kubika

Resıme Hermitovskou interpolaci, mame predepsano

c(0) = P0, c(1) = P1, c′(0) = V0, c′(1) = V1

.

Pozor na reparametrizaci, vhodne upravit delku vektoru V0 a V1

tak, aby byla priblizne rovna ||P1 − P0||.

Jak vypada hledanı kubicke c(t) v bazıch M a B? Jaka soustavarovnic se zde musı vyresit?

Existuje takova baze F = (f0(t), f1(t), f2(t), f3(t)), ve ktere budemıt problem jako resenı

c(t) = P0f0(t) + P1f1(t) + V1f2(t) + V2f3(t)?

Jinymi slovy, odpovıdajıcı soustava linearnıch rovnic majednotkovou matici?

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 11 / 23

Page 21: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Nekolik odpovedı

V monomialnı bazi M napıseme krivku jako

c(t) = A0 + A1t + A2t2 + A3t3

a koeficienty (A0,A1,A2,A3) pak dostaneme jako resenı soustavy

1 0 0 01 1 1 10 1 0 00 1 2 3

A0

A1

A2

A3

=

P0

P1

V0

V1

.

Tato matice je ve zaroven maticı prechodu [id ]MF

, protoze analogickauloha v bazi F ma mıt z definice jednotkovou matici. Z toho duvodumame

[id ]FM =

1 0 0 01 1 1 10 1 0 00 1 2 3

−1

=

1 0 0 00 0 1 0−3 3 −2 −12 −2 1 1

.

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 12 / 23

Page 22: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Nekolik odpovedı

A tedy Fergusonova baze F ma tvar

f0(t) = 1 − 3t2 + 2t3

f1(t) = 3t2 − 2t3

f2(t) = t − 2t2 + t3

f3(t) = −t2 + t3.

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 13 / 23

Page 23: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Novy DU

Danou prostorovou parametrickou krivku aproximujte pomocı nekolikakubik. Postupujte tak, ze z krivky odectete v (n + 1) bodechHermitovska data (polohu bodu a vektor prvnı derivace) a sousednıdata vzdy interpolujte kubikou. Pouzijte k tomu Bernsteinovu bazi.

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 14 / 23

Page 24: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Bezierova krivka - ideal geometrickeho modelovanı

Vse je zalozeno na Bernsteinove bazi polynomu stupne nejvyse n

Bn = (Bn0(t),B

n1(t), · · · ,B

nn(t)) ,

kde Bni (t) =

(ni

)

t i(1 − t)(n−i). Krivku potom parametrizujeme jako

c(t) =i=0∑

n

PiBni (t),

kde Pi ∈ RN jsou kontrolnı body.

http://cagd-applets.webarchiv.kit.edu/mocca/html/noplugin/inhalt.html

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 15 / 23

Page 25: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Vyhody Bernsteinovy baze

Vznikla jako pravdepodobnostnı funkce pri konstrukcnım dukazuWeierstrassovy vety.

Nezapornost, symetrie a rozloznı extremu poskytujı idealnımodelarsky zaklad.

Rozklad jednotky poskytuje convex hall a variation diminishingvlastnosti.

Algebraicke vlastnosti Baze poskytujı jednoduche algoritmy DeCasteljau, degree elevation a pro derivovanı.

Nejstabilnejsı baze na intervalu [0,1].

Tema je standardnı - viz doplnkove materialy na webu.

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 16 / 23

Page 26: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Bernsteinovy polynomy

Definuji i-ty Bernsteinuv polynom stupne n jako

Bni (t) =

(

ni

)

t i(1 − t)(n−i).

Tento vyraz udava pravdepodobnost, ze pri n opakovanınahododneho jevu, ktery ma pravdepodobnost t , tento jevnastane prave i-krat.Bn =

(

Bn0(t),B

n1(t), · · · ,B

nn(t)

)

je baze polynomu stupne nejvyse n.Bn je rozklad jednotky, Bn

i (t) je nazaporny na [0,1] a ma jedinemaximum v bode t = i/n.Pro kazdou funkci f (t) spojitou na intervalu [0,1] definuji

fn(t) =i=0∑

n

f (in)Bn

i (t).

Pak platı fn ⇒ f (Bernstein 1912).

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 17 / 23

Page 27: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Bernsteinovy polynomy

Platı

Symetrie Bni (t) = Bn

n−i(1 − t)

RekurenceBn

i (t) = (1 − t)Bn−1i (t) + tBn−1

i−1 (t)

DerivaceBn

i (t)′ = n

(

Bn−1i−1 (t)− Bn−1

i (t))

Vnorenı prostoru Pn−1(t) < Pn(t)

Bn−1i (t) =

n − in

Bni (t) +

i + 1n

Bni+1(t)

Jaka je matice prechodu mezi monomialnı bazı Mn a Bn?

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 18 / 23

Page 28: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Bezierovy krivky

Definice: Mejme posloupnost n + 1 bodu Pi ∈ RN , kde

i = 0, . . . ,n. Tyto body nazyvame rıdıcı body a lomenou caru,ktera je postupne spojuje nazyvame rıdıcı polygon. Pakdefinujeme Bezierovu krivku

c(t) =i=0∑

n

PiBni (t).

Jak pro danou polynomialnı krivku nalezneme rıdıcı body?

Jak to je z pohledu afinnı geometrie (konvexnı kombinace bodu,afinnı zobrazenı)?

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 19 / 23

Page 29: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Hodograph (tecny vektor)

Pro derivaci (hodograph) krivky c(t) s rıdıcımi body Pi ∈ RN , kde

i = 0, . . . ,n platı

c′(t) =n−1∑

i=0

QiBn−1i (t),

kde Qi = n(Pi+1 − Pi).

Jak vypada Hermitovska interpolace pomocı Bezierovych kubik?

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 20 / 23

Page 30: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

DeCasteljau algoritmus

Mejme rıdıcı body Pi ∈ RN , kde i = 0, . . . ,n a odpovıdajıcı

Bezierovu krivku c(t). Zafixujme pevne u ∈ [0,1] a definujemesystem bodu Pi,j indexovany dvema indexy i = 0, . . . ,n aj = 0, . . . , (n − i) takto:

P0,j := Pj

Pi,j := (1 − u)Pi−1,j + uPi−1,j+1 pro i > 0

Potom bod Pn,0 = c(u) a usecka Pn−1,0Pn−1,1 je tecnou v tomtobode.

Prımym dusledkem je, ze krivka lezı v konvexnım obalu rıdıcıhopolygonu.

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 21 / 23

Page 31: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Subdivision

Body Pi,0, i = 0, . . . ,n jsou rıdıcımi body casti krivky na intervalu[0,u].

Body Pi,n−i , i = 0, . . . ,n jsou rıdıcımi body casti krivky na intervalu[u,1].

Obe casti jsou napojeny se spojitosı G1 a pri reparametrizaci naspravne intevaly [0,u] a [u,1] se spojitostı C1.

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 22 / 23

Page 32: Zbyneˇk Sˇ ı´r - Univerzita Karlovasir/modelovani/gm03hermite.pdf · Polynomia´lnı´ rovinne´ kˇivky Rovinna´ polynomia´lnı´ kˇivka je zobrazenı´ z omezene´ho intervalu

Degree elevation

Krivky c(t) s rıdıcımi body Pi ∈ RN , kde i = 0, . . . ,n lze take

vyjadrit jako krivku s rıdıcımi body Qi ∈ RN , kde i = 0, . . . ,n + 1 a

Qi =i

n + 1Pi−1 + (1 −

in + 1

)Pi

DU naimplementujte DeCasteljau algoritmus.

Zbynek Sır (MU UK) - Geometricke modelovanı 15. listopadu 2017 23 / 23