• Rezultati Niso Bili Najdeni

Racionalna Bézierjeva krivulja stopnje n v Rd je projekcija polinomske Bézierjeve krivulje stopnje n v Rd+1 na hiperravninow= 1, pri čemer točko v Rd+1 označimo kot (x, w) = (x1, x2, . . . , xd, w). Njena projekcija na hiperravnino w = 1 je podana s predpisom

(x, w)↦→(1 wx,1).

Točke oblike λ(x, w) zaλ ̸= 0 se preslikajo v isto točko, točke z w = 0 pa predsta-vljajo točke v neskončnosti.

Preden zapišemo formalno definicijo racionalne Bézierjeve krivulje, si za lažjo predstavo projekcije polinomske Bézierjeve krivulje na hiperravnino w= 1 oglejmo primer za d= 2 inn = 2.

Primer 2.7. Naj bo ppolinomska Bézierjeva krivulja stopnje 2 v R3 s kontrolnimi točkami b0,b1 inb2 – glej sliko 3. Njeno projekcijo na ravnino w= 1 dobimo tako, da vsako točko p(t) na krivulji p projeciramo na ravnino w= 1 vzdolž premice, ki poteka od točke p(t) pa do koordinatnega izhodišča. Tam, kjer taka premica seka ravnino w= 1, dobimo točko r(t) na racionalni Bézierjevi krivulji, ki leži v ravnini w= 1. Kontrolni točkib0 inb2 v našem primeru že ležita v ravniniw= 1, točkab1 pa ne. Kot je razvidno na sliki 3, je ustrezna srednja kontrolna točka za racionalno krivuljortočkab1, ki pa jo tudi dobimo s projekcijo vzdolž premice, ki poteka skozi koordinatno izhodišče. Višje kot je kontrolna točkab1, bližje bo krivuljar točkib1 – višina točke b1 (torej njena tretja koordinata) tako predstavlja t. i. utež točkeb1. Uteži kontrolnih točk racionalnih Bézierjevih krivulj nam omogočajo dodatne proste parametre pri oblikovanju, podrobneje pa bomo njihov pomen in uporabo razložili v nadaljevanju.

Slika 3: Projekcija polinomske Bézierjeve krivulje p stopnje n= 2 v R3 na ravnino w= 1 in dobljena racionalna Bézierjeva krivulja r stopnje n= 2 v R2. Vir: [5].

Definicija 2.8. Naj bodo b0,b1, . . . ,bn točke v Rd in w0, w1, . . . , wn ∈ R skalarji.

Racionalna Bézierjeva krivulja stopnje n v Rd je parametrično podana krivulja r : [0,1]→Rd, definirana s predpisom

r(t) =

n

∑︂

i=0

wibiBin(t)

n

∑︂

i=0

wiBin(t) ,

kjerBinoznačujei-ti Bernsteinov bazni polinom stopnjen. Točkeb0,b1, . . . ,bn ime-nujemokontrolne točke. Če kontrolne točke povežemo z daljicami, dobimo kontrolni poligon. Številawi imenujemo uteži.

Pri delu z racionalnimi Bézierjevimi krivuljami privzamemo, da so vse uteži pozitivne. V nasprotnem primeru za krivuljo ne velja, da leži v konveksni ovojnici svojega kontrolnega poligona. Zato bomo od sedaj naprej, v kolikor ne bo navedeno drugače, vedno privzeli, da so vse uteži pozitivne. V zgornjem primeru (primer 2.7) smo videli, da uteži kontrolnih točk uravnavajo razdaljo krivulje do posamezne kontrolne točke. Slika 4 prikazuje vpliv uteži na krivuljo. Narisana je racionalna Bézierjeva krivulja stopnje n= 2 s kontrolnimi točkami b0,b1 inb2, za katere velja w0 = w2 = 1, vrednost srednje uteži w1 pa je za vsakega od primerov drugačna,

navedena je v opisu pod sliko. Večja kot je vrednost uteži w1, bližje je krivulja točki b1, v primeru negativne uteži w1 pa krivulja ne leži v konveksni ovojnici svojega kontrolnega poligona.

Slika 4: Vpliv uteži na racionalno Bézierjevo krivuljo. Zgoraj levo: w1 = 23, zgoraj desno: w1 = 4, spodaj: w1 =−16.

Za racionalno Bézierjevo krivuljo veljajo podobne lastnosti kot za polinomsko.

Zapišimo

r(t) =

n

∑︂

i=0

wibiBin(t)

n

∑︂

i=0

wiBni(t)

=

n

∑︂

i=0

bi wiBin(t)

n

∑︂

i=0

wiBin(t)

=

n

∑︂

i=0

biNin(t),

kjer smo označili

Nin(t) = wiBni(t)

n

∑︂

i=0

wiBin(t) .

Za t ∈ [0,1] očitno velja Nin(t) ≥ 0, saj so vse uteži pozitivne, Bernsteinovi bazni polinomi na intervalu (0,1) pa tudi. Podoben razmislek, kot smo ga naredili v dokazu trditve 2.3, pokaže, da velja tudi ∑︁n

i=0Nin(t) = 1, kar pomeni, da funkcije Nin tvorijo particijo enote. Tudi racionalne Bézierjeve krivulje interpolirajo svojo prvo in zadnjo kontrolno točko.

Točko na racionalni Bézierjevi krivulji pri določeni vrednosti parametrat∈[0,1]

prav tako dobimo s pomočjo de Casteljaujevega algoritma, prilagojenega za racio-nalne krivulje. Tukaj ga ne navajamo, bralec ga lahko najde v [5, poglavje 13.2].

V nadaljevanju se posvetimo utežem racionalnih Bézierjevih krivulj. Naslednja trditev nam pove, da lahko z ustrezno reparametrizacijo dobimo t. i. standardno obliko racionalne Bézierjeve krivulje, to pomeni, da za uteži velja w0 =wn = 1.

Trditev 2.9. Racionalno Bézierjevo krivuljo z neničelno prvo in zadnjo utežjo lahko reparametriziramo na način, da velja w0 =wn= 1.

Dokaz. Najprej bomo pokazali, da lahko z ustrezno reparametrizacijo krivulje dose-žemo, da sta prva in zadnja utež enaki. Za reparametrizacijsko funkcijo vzemimo

φ(u) = u

α·(1−u) +u,

kjer α predstavlja skalar, ki ga bomo določili kasneje. Oglejmo si s funkcijo φ reparametrizirani-ti Bernsteinov bazni polinom. Dobimo

Bin(φ(u)) =

Sedaj zapišimo s funkcijo φreparametrizirano racionalno Bézierjevo krivuljo in pri tem upoštevajmo pravkar dobljeni rezultat zaBin(φ(u)):

r(φ(u)) = ostane nespremenjena. Številoα določimo tako, da bosta prva in zadnja utež enaki, torej da bo veljalo wˆ0 =wˆn. Ker velja wˆ0 = αnw0 in wˆn = α0wn = wn, iz enačbe αnw0 =wn izračunamo

α= n

√︃wn w0.

Ob taki izbiri številaαsta prva in zadnja utež enaki. Želimo še, da bosta obe enaki 1, kar pa dosežemo tako, da uteži še delimo z wn. Dobljene uteži označimo z w˜i.

Pokazali smo, da lahko v primeru, ko imamo podano racionalno Bézierjevo kri-vuljo, za katero velja w0 ̸= 0 in wn ̸= 0, naredimo tako reparametrizacijo, da velja w˜0 = w˜n = 1 in w˜i = √n wi

winw0n−i za i ∈ {1, . . . , n−1}. Brez škode za splošnost

lahko torej predpostavimo, da delamo s krivuljami v standardni obliki. Za dolo-čanje oblike krivulje tako dobimo n −1 dodatnih prostih parametrov, to so uteži w1, w2, . . . , wn−1.

S pomočjo uteži definiramo t. i. utežne točke, ki ležijo na stranicah kontrolnega poligona.

Definicija 2.10. Utežne točke qi za i∈ {0,1, . . . , n−1}so definirane kot qi = wi

wi+wi+1bi+ wi+1

wi +wi+1bi+1.

Na sliki 5 je ponazorjena racionalna Bézierjeva krivulja stopnje n = 2 skupaj z utežnima točkama q0 inq1. Vrednosti uteži so w0 =w2 = 1 in w1 = 32.

Slika 5: Racionalna Bézierjeva krivulja stopnjen = 2 in utežni točki q0 in q1. Točka qi leži na daljici med kontrolnima točkama bi in bi+1 in to daljico deli v razmerju wi+1 : wi. Razmerje med utežjo wi+1 in utežjo wi lahko izrazimo tudi s pomočjo razmerja treh kolinearnih točk bi,qi in bi+1. Zapišimo definicijo takega razmerja.

Definicija 2.11. Naj bodo a,xin b tri kolinearne točke in zapišimo x=αa+βb,

kjer je α+β = 1. Razmerje točk a,x inb definiramo kot ratio(a,x,b) = β

α. S pomočjo definiranega razmerja lahko zapišemo

ratio(bi,qi,bi+1) = wi+1

wi (2.7)

oz.

wi+1 =wi·ratio(bi,qi,bi+1).

Če izberemo prvo utež w0, so nato po zgornji enakosti iz utežnih točk določene še ostale uteži.

Oglejmo si še, kako izračunamo odvod racionalne Bézierjeve krivulje. Naj bo r racionalna Bézierjeva krivulja, ki smo jo dobili s projekcijo polinomske Bézierjeve krivulje p na ravnino w= 1. Potem velja

r(t) = p(t)

w(t) oz. p(t) =r(t)w(t), kjer smo označili

p(t) =

n

∑︂

i=0

wibiBin(t) in w(t) =

n

∑︂

i=0

wiBin(t).

Parametrizacijo krivulje odvajamo po pravilu za odvod produkta in dobimo p(t) = r(t)w(t) +r(t)w(t).

oz.

r(t) = 1

w(t)(p(t)−r(t)w(t)). (2.8) Zapišimo odvod pri parametrut= 0. V zgornji formuli upoštevamo zvezo za odvod polinomske Bézierjeve krivulje (formula (2.4)) in dobimo

r(0) = 1

w0(n(w1b1−w0b0)−b0n(w1−w0)) = nw1

w0(b1−b0). (2.9) Podobno za t= 1 dobimo

r(1) =nwn−1

wn (bn−bn−1).

Torej tudi za racionalne Bézierjeve krivulje velja, da smerni vektor tangente na krivuljo v točkib0 leži na nosilki daljice b0b1, smerni vektor tangente na krivuljo v točkibn pa na nosilki daljice bn−1bn.

3 Predstavitev stožnic z racionalnimi Bézierjevimi krivuljami

Stožnice oz. krivulje drugega reda so podane z enačbo f(x, y) = 0,

kjer je f kvadratni polinom spremenljivk x in y. Poznamo tri tipe stožnic; to so elipsa, parabola in hiperbola. V tem poglavju si bomo ogledali, kako lahko stožnico predstavimo s pomočjo parametrične krivulje. Polinomske Bézierjeve krivulje ne bodo zadostovale, saj je edina stožnica, ki je hkrati tudi polinom, parabola. Zato za predstavitev stožnic v Bézierjevi obliki potrebujemo racionalne Bézierjeve krivulje.

Le-te smo definirali v prejšnjem poglavju, tukaj pa bomo predstavili njihovo vlogo in lastnosti pri predstavitvi stožnic.

3.1 Stožnice kot racionalne Bézierjeve krivulje stopnje 2

Pri racionalnih Bézierjevih krivuljah imamo opravka s projekcijo polinomske Bézi-erjeve krivulje na ravnino, zato nam bo prav prišla naslednja definicija stožnice.

Definicija 3.1. Stožnica v R2 je projekcija parabole v R3 na neko ravnino.

Parabola je polinom stopnje 2, zato jo vR3 lahko zapišemo v obliki polinomske Bézierjeve krivulje stopnje 2. Če za ravnino iz zgornje definicije izberemo w = 1, iz definicije racionalne Bézierjeve krivulje (kot projekcije polinomske Bézierjeve krivulje na ravnino w= 1) sledi, da zapis

c(t) =

2

∑︂

i=0

wibiBi2(t)

2

∑︂

i=0

wiBi2(t)

= w0b0B02(t) +w1b1B12(t) +w2b2B22(t)

w0B02(t) +w1B12(t) +w2B22(t) (3.1) predstavlja enačbo stožnice vR2. V nadaljevanju izpeljimo nekaj osnovnih lastnosti stožnice, podane v standardni (w0 =w2 = 1) racionalni Bézierjevi obliki.

Slika 6: Točke b1,c1

2 in mso kolinearne in ležijo na premici p. Oglejmo si točko c1

2 =c(︁1

2

)︁. Iz (3.1) sledi c1

2 = b0+ 2w1b1+b2

2 + 2w1 . (3.2)

Označimo še m= b0+b2 2 in pokažimo, da točkac1

2 leži na premicip, ki poteka skozi točki min b1 – glej sliko 6. Vektorska enačba premice pje

p(λ) =m+λs1,

kjer je s1 =b1−m. Kratek račun pokaže, da velja p(︂

w1

1+w1

)︂

=c1

2. Točka c1

2 torej leži na premici p, hkrati pa seveda leži na stožnici c. Točka c1

2 je torej presečišče premice p in stožnice c.

Spomnimo se definiranega razmerja treh kolinearnih točk (definicija 2.11). Iz enakosti (2.7) za i= 0 ob upoštevanjuw0 = 1 sledi

ratio(b0,q0,b1) =w1, kjer je

q0 = b0+w1b1 1 +w1 . Če zvezo (3.2) zapišemo v obliki

c1

2 = 1

1 +w1

(︃b0+b2

2 +w1b1 )︃

= 1

1 +w1m+ w1 1 +w1b1, vidimo, da velja tudi

ratio(m,c1

2,b1) = w1. Pokažimo enakost

ratio(b0,q0,b1) = ratio(m,c1

2,b1) (3.3)

še geometrijsko. Razmerje treh kolinearnih točk, kot smo ga definirali v definiciji 2.11, se s paralelno projekcijo ohranja – glej [5, poglavje 3.1] – zato (3.3) pokažemo tako, da poiščemo paralelno projekcijo, ki bo točko b0 preslikala v točko m, točko q0 pa v točko c1

2. Oglejmo si sliko 7. Naj bo q premica, ki poteka skozi točki b0

Slika 7: Projekcija na premico p.

in b1. Projekcijo iz premice q na premico p določimo vzdolž premice r, ki poteka skozi točkib0 inm. Očitno je, da je slika točkeb0 točkam. Pokazati moramo samo

še, da se točka q0 preslika v točko c1

2. To pomeni, da mora premica r1, ki poteka skozi točko q0 in je vzporedna premicir, premicopsekati v točkic1

2. Smerni vektor premice r je s2 =b2−b0, torej lahko enačbo premice r1 zapišemo kot

r1(λ) = q0+λs2. Kratek račun pokaže, da velja r1(︂

1 2(1+w1)

)︂

= c1

2. Točka c1

2 torej leži tako na pre-mici p kot tudi na premici r1, zato predstavlja njuno presečišče. Tako smo še na geometrijski način preverili enakost (3.3) in posledično tudi enakost

ratio(m,c1

2,b1) =w1.

Izpeljani rezultati nam bodo prišli prav kasneje, ko bomo iskali racionalno Bézierjevo obliko stožnice iz dane implicitne oblike.