Dodatak Za Splajn PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

Predavanje 7
Prolee 2007.

KRIVE I POVRINE RAUNARSKE GRAFIKE


Godine 1956. Arnold Siegel na MIT je definisao sistem za automatsko
programiranje koji se bavi pitanjima programiranja konture radnog predmeta. Ovo je,
zapravo, programski poetak kompjuterske grafike u okviru koga su najpre reavana
pitanja standardnih grafikih primitiva i APT jezika za programiranje. 1963. Steven
Coons je uveo parametarske povrine za grafiki prikaz geometrijskih modela a 1964.
J.C.Ferguson (Boeing) je 1964. definisao vidljivost povrina, ime se unapredjuju
dotadanji iani modeli. Coons i Ferguson su zatim definisali povrine prikaza preko
etvorougaonh elementarnih povrina ogranienih neprekidnim dvoparametarskim
krivama poznatih pod nazivom zakrpa (engl. patch). Jedna od prvih grafikih formi
solid modela sa vidljivim povrinama licima u vidu poligona je fasetirani model
(engl. face = lice). Fasetirani modeli karakteriu se poligonima ravnih ivica - fasetama
koje prikazuju lice geometrijskog modela - ravnom povrinom. Uveanjem broja
faceta umanjuje se greka prikaza ali se ne reava tanost prikaza.
Zato je realan grafiki prikaz traen u savrenijim emama geometrijskog
modeliranja zasnovanog na splajnovima. Pierre Bezier (Regie-Renault) je krajem
ezdesetih godina, uveo tanije matematike sisteme za modeliranje parametarskih
kriva i povrina koje kvalitetno grafiki prikazuju puna tela (solid modeli). Formiranje
prikaza zakrivljenih povrina zasniva se na tanim podacima o povrinama kao to su
koordinate tih taaka i tangente na krive. Za formiranje geometrijskog prikaza na bazi
tanih podataka koristi se interpolacija i aproksimacija. Interpolacijom se definiu
krive koje prolaze tano kroz zadate take povri, dok se aproksimacijom definiu
krive ili povri koje prolaze blizu zadatih taaka povrina. S.Coons je 1964.
interpolacijom definisao geometriju zakrivljene povri na bazi Hermite-ove
interpolacije. Bezier-ovo reenje povri je kompleksnije jer prolazi kroz neke zadate
take (interpolacija1) a nekim takama se samo pribliava (aproksimacija).
Prostorne krive kojima se predstavljaju objekti mogu se opisati na razliite
naine: eksplicitno, implicitno, parametarski, pozicionim vektorima, vektorom
tangente i vektorom take na krivoj. Krive u raunarskoj grafici imaju razliite
matematike aparate za kontrolu kao to su kontrolne take, viestruke vrednosti,
nezavisnost od koordinatnog sistema, lokalni i globalni nadzor, smanjivanje varijacije,
red neprekidnosti sastavljenih krivih u dodirnim takama.

Neracionalne Bezier-ove krive koriste interpolaciju pomou Bernstein-ovih polinoma

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

B-elastina kriva ili B-kriva (B-spline curve) ima osobinu elastine letvice2
(engl. spline). Take u kojima je letvica spoljnom silom dovedena u zadnji poloaj su
prvi i drugi izvod jednaki (desno i levo od potisnute take). B-krive mogu predstaviti
otvorenu ili zatvorenu kao i periodinu ili neperiodinu grafiku formu. Ima vie
tipova B-kriva: Aproksimativne B-krive, Interpolacione B-krive. Interpolacija Bkriva se moe izvesti pomou Hermitovih kriva, pomou kubnih Bezir-ovih kriva.

KRIVE RAUNARSKE GRAFIKE


1. Aproksimativne B krive

date su jednainom:

r
p( u ) =

ri Ni,k (u)

i =o
r
U jednaini B-krive, ri su kontrolne take a N i,k bazne funkcije (B-funkcije), stepena
k. Osobina baznih funkcija je da imaju vrednost Ni,k(u)=1 ako je uiuui+1, odnosno
Ni,k(u)=0 za ostale vrednosti vorova ui (knot values). B-krive definie sledea
rekurzivna formula (Cox-De Boor-ov algoritam):
N i, k ( u ) =

( u u i ) N i , k 1 (u ) (u i+ k u i ) N i+1 , k 1 (u )
+
u i+k u i
u i + k +1 u i +1

Ako je ui+1-ui = const. za svako i koje pripada dodirnoj taki izmedju segmenata, radi
se o uniformnoj B-krivi. Skup {ui} predstavlja se u obliku vektora vorova uknot = [u0,
u1, ..., um]. Uniformne B-krive sa jedininim skokom (ui+1-ui=1), imaju bazne funkcije
odredjene vektorom vorova:

u k not = 01
,4
02
,....,
0
,
1
,
2
,....
m
2
k
1
,
m
2
k
,....,
m
2
k
4
3 1442443 144
42444
3

m 2k 1
k +1
k +1

Vrednosti vorova od uk+1 do um-k-1 su unutranje vrednosti.


Broj baznih funkcija jednak je broju kontrolnih taaka (n+1): m=n+k+1. gde je m broj vorova umanjen za jedan, n - broj je kontrolnih taaka umanjen za jedan, a k stepen krive. Parametar u je u zatvorenom intervalu [0, n-k+1], to znai da je
neperiodina B-kriva definisana na n-k+1 jedininih intervala ili da B-kriva ima n-k+1
segmenata.
Za otvorene periodine B-krive vai sledei skup segmenata:

r
p( u ) =

n k 1
r
pi ( u )
i =1

Elastina letvica se savija po zakonu ugiba optereene grede d2y/dx2=-M/EIx, gde je M moment
savijanja, E-Young-ov modul elastinosti a Ix moment inercije preseka za osu savijanja.

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

Slika 6.38 pokazuje otvorenu i zatvorenu periodinu B-krivu sa n=5 segmenata.


Periodina kubna aproksimativna B-kriva, sa jednim degenerisanim segmentom na
r

n r

poetku i jednom na kraju, definisana je formulom Burer-a, 1989: p(u ) = ri B (u i)


i =0

, u [0, n], gde je B=B() kubna periodina bazna funkcija definisana u intervalu

[-2, 2]. Poto ne vai B (u 1) = 1 , na celom intervalu [0, n].


i =0

Slika 6.38 Otvorena i zatvorena periodina B-kriva sa n = 5 segmenata

Ova B-kriva se naziva degenerisana periodina B-kriva. Eliminacija degenerisanih


segmenata krive se izvodi uvodjenjem fantomskih kontrolnih taaka R-1 i Rn+1 (na
poetku i na kraju krive). Tangenta na poetku krive ide kroz take R0 i R1 , a na kraju
krive kroz take Rn-1 i Rn. Fantomska taka R-1 je kolinearna sa takama R0 i R1 .
Taka R0 lei na sredini rastojanja R-1 i R1 (slika 6.33):

Slika 6.39 Periodina B-kriva sa fantomskim takama

2. Interpolacione B-krive definiu geometriju grafike forme za n+1 zadatih


r

kontrolnih taaka p i (i=0, 1, 2, ... , n) pri emu se koriste pomone kontrolne take
r
r j . Za otvorene neperiodine krive treba odrediti n+k pomonih kontrolnih taaka iz
n+1 poznatih interpolacionih taaka. Kod odredjivanja interpolacione krive kroz n+1
datih taaka sa redom ne veim od tri, potrebno je rastaviti interpolacionu krivu na

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

segmente. Segmenti su tako odabrani da se njihov opis izvede ve upotrebljavanim


funkcijama. Pri tome se mora zadrati kontinuiranost krive. Za tu svrhu koristi se
iscrtavanje krivih pomou letvica (splines). U takama u kojima je letvica spoljnom
silom dovedena u zadati poloaj, prvi i drugi izvod levo i desno od te take su jednaki.
Letvica se savija po zakonu elastine linije grede d 2 y / dx 2 = M / E I . Reenje ove
diferencijalne jednaine je kubna funkcija. Segment moe biti ve poznata Hermit-ova
kriva. Interpolacija B-kriva se moe izvesti pomou kubnih Bezierovih kriva. Tada se
r
r
r r
r
koriste interpolacione take p 0 ,p1,...,p n , i Bezireove kontrolne take b1 i b 3n 1 . Kriva
r
r
se sastoji iz n kubnih segmenata. Na slici 6.33 vidimo dva segmenta pi i p i +1 .
r

Segment pi odredjuju etiri Bezireove kontrolne take b 3i 3 , b 3i 2 , b 3i 1 i b 3i .


r r
r
Sastavljenu Bezireovu krivu odredjuju Bezireove kontrolne take: b 0 ,b1,...,b 3n .
r

Kontrolne take su poznate jer vai: b3i = pi , i = 0, 1, ... , n . Sastavljenu kubnu


Bezier-ovu krivu u vorovima daje formula:

Slika 6.40 Interpolaciona B-kriva pomou kubnih Bezireovih kriva

r
p( u ) =

n 1 3 r
b3i + j B j,3 (u ) ,
i =0 j=0

Za grafiku interpretaciju krivih, koriste se razliiti oblici Bezier-ovih kriva,


aproksimacijama i interpolacijama. Kod izvodjenja aproksimacija, Bernstein-ov oblik
r
Bezier-ove krive je formiran kontrolnim takama ri i baznim funkcijama Bi,n(u)
stepena n (ili Bernsteinovi polinomi stepena n) gde je n=k. Zbog toga Bezier-ova kriva
ima samo jedan segment (n-k+1=1).
r
p( u ) =

ri Bi,n (u) ,

i =0
Bezier-ove kriva prolazi kroz

r
r0

r
rn ,

a drugim kontrolnim takama se samo priblii.

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

3. Racionalne B-krive predstavljaju algebarski odnos dve polinomne funkcije,


prema narednim relacijama. Popularnost racionalnih B-krivih se zasniva na
zajednikom matematikom obliku tanog predstavljanja kriva drugog reda
(hiperbole, parabole, elipse, krunice) i proizvoljnih kriva. Racionalne B krive nude
teinske koeficijente za formiranje razliitih geometrijskih oblika. Racionalna B-kriva
stepena k definisana je baznom funkcijom Ni,k, racionalnom baznom funkcijom Ri,k,
r
kontrolnim takama ri i teinskim koeficijentima i.
n
r
i ri Ni,k (u )
n
i Ni,k (u )
r
r
p( u ) = i =0
ri R i,k (u ) , i
=
R i, k ( u ) =
n
n
i =0
i Ni,k (u )
j N j,k (u )
i =0
j=0

Slika 6.41 Krug sa kontrolnim poligonom, i racionalne bazne krive


(sa 9 kontrolnih taaka , i Uknot = [0, 0, 0, 1/4, 1/4, 1/2, 1/2, 3/4, 3/4, 1, 1, 1 ] )

Granini uslovi racionalnih B-krivih su da je kontrolni poligon linearna


aproksimacija krive, da dozvoljava lokalni nadzor, da u vorovima vlada
neprekidnost. Racionalna B-kriva optijeg je karaktera od neracionalnih B-kriva i
racionalnih i neracionalnih Bezireovih kriva. Promena teinskih koeficijenata i
lokalno utie na krivu,

4. Racionalne Bezier-ove krive su definisane principom da svaka taka na


segmentu krive mora biti data pomou parametarske funkcije u sledeem obliku, a
sama bazna funkcija koristi Bernstein-ove polinome. Bezier-ove krive koriste razliit
broj kontrolnih taaka n+1. Pri tome su elementi kontrole zadatih kontrolnih taaka
direktni. Korienje p-tog izvoda u krajnjim takama doputa neogranienu kontrolu
kontinuiteta u spojevima kompozitne Bezier-ove krive. Bernstein-ovi polinomi
obezbedjuju invarijantnost nad translacijama i rotacijama a same krive su sadrane u
udubljenjima konveksnih taaka. Kontrolni poligoni formiraju parastu linearnu

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

aproksimaciju krive. Slika 6.42a pokazuje Bezier-ovu krivu formiranu sa tri kontrolne
take a slika 6.42b sa etiri kontrolne take.
n
r
i ri Bi,n (u )

,02
,...,
0
,
1
,
1
,...,
1
, gde je n = k ,
i U k not = 01
p( u ) = i =0
3 123

n
n +1 n +1
i Bi,n ( u )
i =0

Sl.6.42a,b Bezier-ove funkcije sa tri kontrolne take i etiri kontrolne take

POVRINE RAUNARSKE GRAFIKE


Element za prikazivanje povrina je krpa (patch). Krpu definiemo kao deo
povrine omedjen sa etiri krive. Osobine povrina u raunarskoj tehnici su zasnovane
na osobinama prethodno opisanih kriva za prikazivanje grafikih formi. Povrina se
takodje analitiki opisuje u eksplicitnom, implicitnom, parametarskom i vektorskom
obliku. B-povrinu odredjuje vektorska funkcija:

r
p( u , v) =

m n

rij Ni,k (u ) N j,l (v)

i =0 j=0

1. Neperiodine B-povrine se karakteriu geometrijski sa etiri ugaone kontrolne


take, osobinom da povrina lei unutar konveksne ljuske kontrolnih taaka, slika
6.43. Premetanje kontrolne take ima uticaj na povrinu samo u njenom pravouglom
podruju. Povrina ima neprekidnost u zadatom smeru sa mnogostrukou q. Bpovrina bez unutranjih vrednosti vorova je Bezireova povrina.

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

Slika 6.43 Kontrolna mrea B-povrine stepena (2,3) sa


Uk not = [0, 0, 0, 1/3, 2/3, 1, 1, 1] i Vk not = [0, 0, 0, 0, 1, 1, 1, 1]

2. Periodine B-povrine se definiu optim izrazom: p(u , v) = ps t (u , v) .


s t

Element za prikaz povrine krpa definie se:

r
T
pst (u , v) = U k M B, k R kl M T
B,l Vl ,

gde su u, v [0, 1] , Uk = [uk uk-1 . . . u 1]; Vl = [vl vl-1 . . . v 1], MB,k (MB,l )
transformacione matrice (kao kod B-kriva), Rk l matrica kontrolnih taaka stepena
(k+1)(l+1). Periodine B-povrine mogu biti otvorene, delimino zatvorene i
potpuno zatvorene.

Slika 6.44 Kontrolna mrea i aa sa delimino zatvorenom periodinom B-krivom

3. Bezier-ove povrine: Predstavljaju se u formi:


m n r
r
p( u , v) = rij B i, m (u ) B j, n ( v)
i = 0 j= 0

, u, v [0, 1] .

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

4.

Racionalne B-povrine se primenjuju zbog jednostavne matematike


formulacije predstavljanja kvadratnih povrina (valjak, sfera) i proizvoljnih (free
form) povrina, zatim i zbog dobre adaptivnosti za veinu povri posredstvom
upotrebe teinskih koeficijenata (to obezbedjuje razliitost objekata). Racionalnu Bpovrinu stepena (k, l) definiemo kao:
m n
r
ij ri j N i, k (u ) N j, l ( v)
m n
r
r
i = 0 j= 0
p ( u , v) =
ri j R i, k , j, l (u , v) ,
=
m n
i = 0 j= 0
ij N i, k (u ) N j, l ( v)
i = 0 j= 0
r
pri emu su ri j kontrolne take, ij teinski koeficijenti, Ni,k (Nj,l) bazne funkcije,

Ri,k,j,l bivarijantne racionalne funkcije. Geometrijske osobine racionalnih B-povrina su


r
da se etiri ugaone kontrolne take podudaraju sa uglovima povrine, vektor p lei
unutar konveksne ljuske kontrolnih taaka, osobine mnogostrukosti vorova i
neprekidnosti povrina.

A. Upravljana povrina (engl. ruled surface), definisana je NURBS krivama


m1 r
m2 r
r
r
p1 (u ) = ri,1 R i, k1 (u ) i
p 2 (u ) = ri,2 R i, k 2 ( u ) na
i =0
i =0
m
1
r
r
povrina p(u, v) = rij R i, k, j,1 (u, v) za proizvoljnu
i = 0 j= 0
r
r
take p1(u 0 ) i p 2 (u 0 ) prema slici 6.45:

Slika 6.45 Upravljana povrina imedju dve proizvoljne


naspramne krive

bazi kojih je definisana


vrednost u0 koja povezuje

Slika 6.46 Opti valjak i njegova


kontrolna
povrina

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

r
B. Opti valjak definisan je povrinom p(u , v) =
Vknot = [0, 0, 1,
mr
r
p(u ) = ri R i, k (u )
i =0

m 1

ri j R i, k, j,1 (u, v) ,

gde je

i = 0 j= 0
1]. Opti valjak dobijemo ako povuemo krivu:
r

- NURB krivu stepena k, za duinu d u smeru vektora . Ova

funkcija obrazovanja povrine poznata je kao linearno izvlaenje (ili engl.


Construct surface of Proection/Ortogonal/Distance). Slika 6.46 pokazuje opti
valjak prikazan glatkim krivama u prostornom xyz Dekart-ovom koordinatnom
sistemu i kontrolnu povrinu u formi izlomljenih ravnih povrina koje definiu
pravac valjka i granine uslove valjka.

C. Rotaciona povrina je NURB kriva stepena l koja lei u ravni xz, slika 6.47.
Rotacijom za 360 oko z-ose, ima oblik:
8 n r
r
p(u , v) = ri j R i,2, j,1 (u , v)
i = 0 j= 0

gde je vektor vorova kruga Uknot = [0, 0, 0, 1/4, 1/4, 1/2, 1/2, 3/4, 3/4, 1, 1, 1] . Sl. 6.48.

Slika 6.47 Definicija rotacione povrine

Slika 6.48 Kontrolna mrea i rotaciona racionalna povrina

CAD - PROJEKTOVANJE RAUNAROM - Autorizovana predavanja dr Miomir Jovanovi

10

D.

Racionalne Bezier-ove povrine su racionalne B-povrine bez unutranjih


vorova. Tada su bazne take Ni,k (Nj,,l ) jednake Bezier-ovim polinomima Bi,k (Bj,l).
Jednaina racionalne Bezier-ove povrine stepena (k, l), sa Uk not i Vk not vektorima
vorova data je narednom jednainom. Sa racionalnom bikvadratnom Bezireovom
povrinom (k = l = 2) moe se tano opisati povrina drugog stepena (kvadratna
povrina) kao toje valjak, sfera, kupa.
k

i j ri j Bi, k (u ) B j, l ( v)

r
i = 0 j= 0
p ( u , v) =
k l

i j Bi, k (u ) B j, l ( v)

i = 0 j= 0

Pojam SPLAJNA (engl. spline) definisan je u matematici, [64]. Splajn funkcije je


istraio Lobachevski u devetnaestom veku. U izvornom smislu, splajn je savitljiva
elastina crtaka letvica koriena za iscrtavanje glatkih kontura brodskih i avio
konstrukcija. U savijenom stanju potencijalna energija ovog tapa proporcionalna je
krivolinijskom integralu kvadrata krivine luka K(x). Ako se jednaina krive splajna
oznai sa y=S(x) u intervalu axb, i ako se zanemari S'(x)2<<1, dolazi se do pojma
matematikog splajna:
b

2
K ( x ) ds =

S" ( x ) 2

[1 + S (x) ]
'

2 5/ 2

dx S" ( x ) 2 dx
a

Uoptavanje pojma splajna mogue je izvriti uvodjenjem glatkosti krive, vieg


reda, korienjem funkcija vieg izvoda od drugog, koji je definisan u poslednjem
integralu. Ovakav matematiki oblik splajna i sam termin splajn potiu od
Schoenberg-a iz 1946. godine. Splajn je danas iroko primenjen u numerikoj
matematici kod interpolacija, numerikog diferenciranja, numerike integracije,
reavanja diferencijalnih jednaina i u teoriji aproksimacija. Razliite vrste
matematikih formulacija B-povrina reen je primenom NeUniformnih Racionalnih
Baznih Splajnova, krae nazvanih NURBS-eva koji su omoguili da se sve povrine
geometrijskog modela predstave istom emom (CSG, BRP), pa je algoritam za
odredjivanje preseka jedinstven.

You might also like