+ All Categories
Home > Documents > Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov...

Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov...

Date post: 11-Sep-2019
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
36
Splajn po delovima Bezier-ova kriva trećeg stepena B-splajnovi
Transcript
Page 1: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Splajn – po delovima Bezier-ova kriva

trećeg stepena

B-splajnovi

Page 2: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Povezivanje Bezier-ovih krivih u splajn

Podestimo se: Bezier-ov polinom trećeg stepena, sa kontrolnim tačkama P₀, P₁, P₂, P₃, je

)33()363()33()( 3210

3

210

2

010 PPPPtPPPtPPtPtp

)33(3)363(2)33()(' 3210

2

21001 PPPPtPPPtPPtp

)33(6)363(2)('' 3210210 PPPPtPPPtp

Pri tome je 0)0( Pp

3)1( Pp

)(3)0(' 01 PPp

)(3)1(' 23 PPp

)2(6)0('' 210 PPPp

)2(6)1('' 321 PPPp

Page 3: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Povezivanje Bezier-ovih krivih u splajn Granični uslovi

Uslov da je p’’(0) =p’’(1) = 0 je uslov kojim generišemo prirodni splajn. U slučaju kada splajn formiramo nadovezivanjem Bezier-ovih krivih, taj uslov se svodi na

0)2(6)0('' 210 PPPp

2012

1PPP

0)2(6)1('' 321 PPPp

3122

1PPP

Drugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene tačkama P₀ i P₂, a tačka P₂ je na sradini duži određene tačkama P₁ i P₃.

Page 4: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Povezivanje Bezier-ovih krivih u splajn Neprekidnost krive

Pretpostavimo da povezujemo dve Bezier-ove krive, sa kontrolnim tačkama P₀, P₁, P₂, P₃ i Q₀, Q₁, Q₂, Q₃, u splajn, i da je tačka spajanja P₃ = Q₀ = S. Ovakvo povezivanje, bez dodatnih uslova, obezbeđuje neprekidnost rezultujuće krive, ali ne i Neprekidnost prvog izvoda u tački S. Ulazni pravac tangente u tački S različit je od izlaznog.

Page 5: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Povezivanje Bezier-ovih krivih u splajn Neprekidnost krive i prvog izvoda

U tački S vrednosti prvog izvoda (tangenti) dveju Bezier-ovih krivih treba da budu jednake. To znači da treba da važi da su jednake vrednosti

)(3)0(' 1 SQp )(3)1(' 2PSp

Dakle, 21 PSSQ 122

1QPS odnosno,

Prvi izvod u tački S je neprekidan ukoliko je tačka S središte duži P₂Q₁.

Page 6: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Povezivanje Bezier-ovih krivih u splajn Neprekidnost krive, prvog i drugog izvoda

Ukoliko želimo da i drugi izvod rezultujućeg splajna bude neprekidna funkcija u tački S, potrebno je da bude zadovoljeno da su jednaki izrazi

)2(6)0('' 21 QQSp

)2(6)1('' 21 SPPp

odnosno,

)()( 122211 PPPQQQ

Ovo kraće zapisujemo u obliku

Slučaj kada A₋≠ A₊

Slučaj kada je A₋= A₊

Page 7: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

A-frame konfiguracija i Bezier-ov splajn

A- frame konfiguracija tačaka P₁, P₂, A, S, Q₁, i Q₂ ispunjava uslov da je P₂ središte duži P₁ i A, Q₁ središte duži A i Q₂, S središte duži P₂ i Q₁.

Ukoliko se dve Bezier-ove krive nadovezuju u tački S, tako da su u toj tački njihovi prvi i drugi izvodi jednaki, onda kontrolne tačke ovih krivih obrazuju A-frame konfiguraciju (i obrnuto).

Page 8: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Konstrukcija Bezier-ovog splajna za date kontrolne tačke

Za date (kontrolne) tačke B₀, B₁, B₂, B₃, B₄, B₅ konstruisati B-splajn kao na slici (splajn koji je po delovima Bezier-ova kriva, klase C²).

Page 9: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Konstrukcija Bezier-ovog splajna za date kontrolne tačke

• Podeliti svaku duž određenu datim tačkama na tri dela. • Označiti da je S₀=B₀ i Sn=Bn.

• Za ostale tačke Bi - spojiti dve susedne generisane deobne tačke. - sredina svake tako generisane duži je tačka Si koja pripada traženom splajnu. • Kontrolne tačke svake Bezier-ove krive na segmentu su Si-1, dve generisane deobne tačke i tačka Si.

Page 10: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Konstrukcija Bezier-ovog splajna za date kontrolne tačke

Na osnovu konstrukcije kontrolnih tačaka delova splajna očigledno je da su zadovoljeni uslovi neprekidnosti i neprekidnosti prvog i drugog izvoda (uočavamo konstruisane A-frame konfiguracije).

Na osnovu konstrukcije jasno je da smo generisali prirodni splajn.

Opisanim postupkom generišemo kontrolne tačke Bezier-ovih krivih na svakom segmentu, u funkciji datih kontrolnih tačaka splajna.

Page 11: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Konstrukcija Bezier-ovog splajna za date kontrolne tačke

Deobna tačka susedna tački Bi, na segmentu Bi-1Bi

Deobna tačka susedna tački Bi, na segmentu Bi Bi+1

Tačka Si kao sredina duži određene navedenim deobnim tačkama

Kontrolne tačke i-te Bezier-ove krive su

Page 12: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Konstrukcija Bezier-ovog splajna za date kontrolne tačke

Ako je pi(t) za 0≤t≤1 Bezier-ova kriva nad segmentom i, i=1,2,...,n, onda je (uniformni prirodni) splajn P(t) za 0≤t≤n definisan na sledeći način:

Page 13: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Lokalna kontrola Bezier-ovog splajna

Svaka kontrolna tačka i-te Bezier-ove krive određuje se korišćenjem 4 date kontrolne tačke splajna, Bi-2, Bi-1, Bi, Bi+1. Svaka data kontrolna tačka Bi splajna utiče na 4 Bezier-ove krive: dve koje se nadovezuju u tački Si i dve njima susedne.

Page 14: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Interpolacija prirodnim kubnim splajnom

Pretpostavimo da rešavamo standardan problem interpolacije: Za date tačke Si odrediti prirodni kubni splajn koji kroz njih prolazi. Problem možemo rešiti konstruišući odgovarajuće Bezier-ove krive čije su krajnje kontrolne tačke upravo date tačke Si. Postupak podrazumeva da prvo odredimo kontrolne tačke Bezier-ovog splajna, a zatim kontrolne tačke pojedinačnih Bezier-ovih krivih. Koristimo već formulisane veze između tačaka Si i Bi. Može se izvesti i rešiti sledeći matrični zapis sistema jednačina po Bi:

Page 15: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Primena splajnova u animaciji

Pretpostavimo da imamo niz kadrova (key-frames) koji prikazuju položaj animiranog lika u momentima t=0,1,2,...,n.

Želimo da generišemo među-kadrove koji odgovaraju položajima posmatranog lika tokom kretanja od jedne zadate pozicije do druge, pri čemu je putanja kretanja glatka kriva.

Pretpostavimo da je animirani lik u svakom kadru prikazan određenim brojem tačaka u ravni. Neka je broj tih tačaka, recimo, 15. Svaka tačka opisana je dvema vrednostima (koordinatama). Dakle, svaki kadar sadrzi reprezentaciju lika u obliku tačke sa 30 koordinata.

Možemo reći i da je svaki kadar tačka (element) posmatranog 30-todimenzionalnog prostora.

Ključni korak je definisanje interpolacione krive koja je određena datim čvorovima –uređenim tridesetorkama koje predstavljaju kadrove.

Za svaku od 30 koordinata generišemo parametarsku interpolacionu krivu (Bezier-ovu, ili neku drugu).

Za određenu vrednost parametra t određujemo vrednost interpolacionog splajna određujući vrednost svake od 30 koordinata.

Page 16: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

B-splajnovi

Splajn kao linearna kombinacija B-splajnova

Interpolacija krivih: Splajnovi

Page 17: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Splajn kao linearna kombinacija B(aznih)-splajnova

Kontrolne tačke splajna na prikazanoj slici su B₀, B₁, B₂, B₃, B₄, B₅. To su, u opštem slučaju, tačke kojima raspolažemo (koje su zadate).

Splajn, međutim, ne prolazi ni kroz jednu od kontrolnih tačaka. Bezier-ove krive trećeg stepena imaju 4 kontrolne tačke. Kriva prolazi kroz prvu i poslednju. Uočimo da su kontrolne tačke svakog Bezier-ovog segmenta različite od kontrolnih tačaka splajna. Na slici, to su, recimo, tačke V₀, V₁, V₂, V₃. Pri tome, Bezier-ov segment (a samim tim i rezultujući splajn) prolazi kroz tačke V₀, V₃. Znamo da se Bezier-ov segment može analitički izraziti u funkciji svojih kontrolnih tačaka V₀, V₁, V₂, V₃. Želimo, takođe, da ga izrazimo u funkciji kontrolnih tačaka splajna, B₀, B₁, B₂, B₃.

Page 18: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Splajn kao linearna kombinacija B(aznih)-splajnova

Polazimo od ranije izvedenog rezultata da je Bezier-ov polinom trećeg stepena, sa kontrolnim tačkama V₀, V₁, V₂, V₃ oblika

3

3

2

2

1

2

0

3 )1(3)1(3)1()( VtVttVttVttp

i da za kontrolne tačke V₀, V₁, V₂, V₃ važi da se mogu izraziti kao

210210106

1

3

2

6

1)

3

1

3

2(

2

1)

3

1

3

2(

2

1BBBBBBBV

321321236

1

3

2

6

1)

3

1

3

2(

2

1)

3

1

3

2(

2

1BBBBBBBV

2113

1

3

2BBV

1223

1

3

2BBV

Page 19: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Splajn kao linearna kombinacija B(aznih)-splajnova

Dakle,

Uvrštavanjem i odgovarajućim grupisanjem, uz izmenu oznaka u kojoj sada kontrolne tačke splajna označavamo sa P₀, P₁, P₂, P₃ (radi usklađivanja sa dalje korišćenom standardnom notacijom), dobijamo

3

3

2

23

1

23

0

23

6

1)1333(

6

1)463(

6

1)133(

6

1)( PtPtttPttPttttp

što je izraz za (jedan) Bezier-ov segment splajna u obliku linearne kombinacije b(aznih)-splajnova, a sa koeficijentima koji su jednaki kontrolnim tačkama splajna koje kontrolišu posmatrani segment.

34,324,214,104,0)( PBPBPBPBtp

3

4,3

23

4,2

23

4,1

23

4,0

6

1)(),1333(

6

1)(

)463(6

1)(),133(

6

1)(

ttBttttB

tttBttttB

pri čemu je

Page 20: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Splajn kao linearna kombinacija B(aznih)-splajnova

Matrični zapis izraza

3

3

2

23

1

23

0

23

6

1)1333(

6

1)463(

6

1)133(

6

1)( PtPtttPttPttttp

je

10001

1333

4063

1331

6

1)(

2

3

3210t

t

t

PPPPtp

(Napomena: navedena matrična forma se nekad navodi u transponovanom obliku.)

Page 21: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

otherwise 0

1 1

1,

kk

k

ttttB

Splajn

kao linearna kombinacija B-splajnova

Rekurentna veza počinje B-splajnovima prvog reda (d=1) i gradi splajnove višeg reda.

Splajn 4-reda je linearna kombinacija polinoma trećeg stepena. Ovaj splajn (reda d=4) nam je najinteresantniji.

Ovaj algoritam poznat je kao Cox - de Boor algoritam.

tBtt

tt

tBtt

tttB

dk

kdk

dk

dk

kdk

kdk

1,1

1

1,

1

,

Do izraza za bazne funkcije (b-splajnove) došli smo geometrijski, i to za kubni splajn. Uopštenje ovog pristupa, i generisanje baznih splajnova proizvoljnog reda moguće je korišćenjem rekurentnih formula:

Page 22: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Uniformni kubni B-splajnovi Čvorovi uniformnog kubnog B-splajna su na jednakom

međusobnom rastojanju – uzimamo da su

(-3,-2,-1,0,1,…,n+1)

Svaka bazna funkcija (B-splajn) je različita od nule za vrednost parametra t u intervalu dužine d (d je red splajna).

Bazna funkcija kubnog splajna je različita od nule na intervalu dužine 4; svaka zavisi od vrednosti 4 čvora.

Važna osobina baznih funkcija istog reda je da se jedna od druge mogu dobiti translacijom:

Bk,d(t)=Bk+1,d(t+1)

Page 23: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Bk,1 grafički prikaz b-splajnova prvog reda

0

0,2

0,4

0,6

0,8

1

1,2

-3

-2,8

-2,6

-2,4

-2,2 -2

-1,8

-1,6

-1,4

-1,2 -1

-0,8

-0,6

-0,4

-0,2 0

0,2

0,4

0,6

0,8 1

B0

,1(t

)

t

B 0,1

0

0,2

0,4

0,6

0,8

1

1,2

-3

-2,8

-2,6

-2,4

-2,2 -2

-1,8

-1,6

-1,4

-1,2 -1

-0,8

-0,6

-0,4

-0,2 0

0,2

0,4

0,6

0,8 1

B2

,1(t

)

t

B 2,1

0

0,2

0,4

0,6

0,8

1

1,2

-3

-2

,8

-2

,6

-2

,4

-2

,2 -2

-1

,8

-1

,6

-1

,4

-1

,2 -1

-0

,8

-0

,6

-0

,4

-0

,2 0

0,2

0,4

0,6

0,8 1

B3

,1(t)

t

B 3,1

0

0,2

0,4

0,6

0,8

1

1,2

B1

,1(t)

t

B 1,1

Page 24: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Bk,2 grafički prikaz b-splajnova drugog reda

0

0,2

0,4

0,6

0,8

1

1,2

-3

-2,8

-2,6

-2,4

-2,2 -2

-1,8

-1,6

-1,4

-1,2 -1

-0,8

-0,6

-0,4

-0,2 0

0,2

0,4

0,6

0,8 1

B0,2

(t)

t

B 0,2

0

0,2

0,4

0,6

0,8

1

1,2

-3

-2,8

-2,6

-2,4

-2,2 -2

-1,8

-1,6

-1,4

-1,2 -1

-0,8

-0,6

-0,4

-0,2 0

0,2

0,4

0,6

0,8 1

B1

,2(t

)

t

B 1,2

0

0,2

0,4

0,6

0,8

1

1,2

-3

-2,8

-2,6

-2,4

-2,2 -2

-1,8

-1,6

-1,4

-1,2 -1

-0,8

-0,6

-0,4

-0,2 0

0,2

0,4

0,6

0,8 1

B2

,2(t

)

t

B 2,2

12 1

23 3)(2,0

tt

tttB

Page 25: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Bk,1 analitički izraz b-splajnova prvog reda

Page 26: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Bk,2 analitički izraz b-splajnova drugog reda

Page 27: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Bk,2 analitički izraz b-splajnova drugog reda

Page 28: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Bk,3 grafički prikaz b-splajnova trećeg reda

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

-3

-2,8

-2,6

-2,4

-2,2 -2

-1,8

-1,6

-1,4

-1,2 -1

-0,8

-0,6

-0,4

-0,2 0

0,2

0,4

0,6

0,8 1

B0

,3(t

)

t

B 0,3

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

-3

-2,8

-2,6

-2,4

-2,2 -2

-1,8

-1,6

-1,4

-1,2 -1

-0,8

-0,6

-0,4

-0,2 0

0,2

0,4

0,6

0,8 1

B1

,3(t

)

t

B 1,3

01

12 362

23 3

2

1)(

2

2

2

3,0

tt

ttt

tt

tB

Page 29: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

B0,4 grafički prikaz b-splajna četvrtog reda

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

-3

-2,8

-2,6

-2,4

-2,2 -2

-1,8

-1,6

-1,4

-1,2 -1

-0,8

-0,6

-0,4

-0,2 0

0,2

0,4

0,6

0,8 1

B0

,4(t

)

t

B 0,4

Page 30: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

B0,4 analitički izraz b-splajna četvrtog reda

10 1

01 1333

12 521153

23 3

6

1)(

3

23

23

3

4,0

tt

tttt

tttt

tt

tB

(Podsetimo se: ovde su posmatrani čvorovi -3, -2, -1, 0. )

Page 31: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Uniformni B-splajnovi četvrtog reda (trećeg stepena)

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

-3

-2,6

5

-2,3

-1,9

5

-1,6

-1,2

5

-0,9

-0,5

5

-0,2

0,1

5

0,5

0,8

5

1,2

1,5

5

1,9

2,2

5

2,6

2,9

5

3,3

3,6

5 4

4,3

5

4,7

t

B0,4 B1,4 B2,4 B3,4 B4,4 B5,4 B6,4

Page 32: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Kriva kao linearna kombinacija B-splajnova

P0B0,4

P1B1,4 P2B2,4

P3B3,4

P4B4,4

P5B5,4

P6B6,4

0

0,05

0,1

0,15

0,2

0,25

-3

-2,6

5

-2,3

-1,9

5

-1,6

-1,2

5

-0,9

-0,5

5

-0,2

0,1

5

0,5

0,8

5

1,2

1,5

5

1,9

2,2

5

2,6

2,9

5

3,3

3,6

5 4

4,3

5

4,7

t

n

k

kk tBPtX0

4,

Da bismo predstavili vrednosti proizvoljne splajn funkcije, bazne splajn-funkcije množimo vrednostima datih kontrolnih tačaka i sabiramo.

Page 33: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Uniformni B-splajnovi četvrtog reda U svakoj tački t postoje 4 ne-nula bazne funkcije (B-

splajna).

Svaka od tih funkcija je translirana verzija funkcije B0,4

Na intervalu 0t<1

Uzimamo četvrti podsegment krive B0,4 Uzimamo treći podsegment krive B1,4 Uzimamo drugi podsegment krive B2,4 Uzimamo prvi podsegment krive B3,4

Page 34: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Bazne funkcije na intervalu [0,1]

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

t

B0,4

B1,4 B2,4

B3,4

3

3

32

2

32

1

32

0

4,334,224,114,00

3331

364

331

6

1

)()()()()(

tP

tttP

ttP

tttP

tBPtBPtBPtBPtx

(Navedeni polinomi su nam poznati, izveli smo ih koristeći geometrijski pristup!)

Page 35: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Uniformni B-splajn na [0,1) Četiri kontrolne tačke su potrebne da bismo definisali krivu

na intervalu 0t<1

Vrednosti baznih funkcija su u zbiru jednake 1 za svaku vrednost t, i sve su pozitivne. o Kriva je sadržana u konveksnom omotaču datih kontrolnih

tačaka.

Matrična forma (koju smo takođe već naveli u vezi sa geometrijskim izvođenjem) rezultujućeg splajna je

10001

1333

4063

1331

6

1)(

2

3

3210t

t

t

PPPPtx

Page 36: Local Shading Models - cb.uu.senatasa/uploads/Main/Interpolacija4.pdfDrugim rečima, navedeni uslov o vrednosti drugog izvoda implicira da je tačka P₁ na sredini duži određene

Uniformni B-splajn na proizvoljnom intervalu

Interval [i,i+1) posmatramo isto kao i interval [0,1) Vrednost parametra pomeramo za i

Koristimo odgovarajući skup kontrolnih tačaka.

Da bismo izračunali vrednost uniformnog kubnog B-splajna u proizvoljnoj vrednosti parametra t: Odredimo najveći ceo broj i koji je manji ili jednak sa t

Izračunamo:

Dozvoljene vrednosti parametra t su 0t<n-3, gde je n broj kontrolnih tačaka.

3

0

4,

k

kki itBPtX


Recommended