APROXIMAČNÉ A INTERPOLAČNÉ ČIARY
Aproximácia (interpolácia) je generujúci princíp, ktorý umožňuje modelovať súvislé oblúky čiar z diskrétnych usporiadaných množín bodov rozšíreného euklidovského priestoru. Vnútorné geometrické vlastnosti modelovaných čiar sú závislé od tvaru polynomických interpolačných funkcií určujúcich analytické reprezentácie modelovaných útvarov, t.j. od hodnôt koeficientov pri mocninách
premennej u. Požadované geometrické vlastnosti stanovujú podmienky pre určenie týchto koeficientov. Všeobecne musia interpolačné polynómyPli(u) = ainun + ain-1un-1 +...+ ai1u + ai0
spĺňať túto podmienku:
súčet polynómov vzťahujúcich sa na vlastné body riadiaceho
(1)
Analytická reprezentácia modelovaného oblúka určeného usporiadanou
n-ticou bodovM = ( Pi(xi , yi , zi , hi ) ), i = 1, ..., n, kde hi = 0, 1
ktorý vytvoríme aproximáciou (interpoláciou) určenou maticou interpolácie
I(u) = ( Pl1(u) Pl2(u) ... Pln(u) )
je bodová funkcia požadovaných vlastností na
I = < 0, 1 >Rozoznávame dva typy modelovania:
interpolácia - všetky body riadiaceho útvaru ležia na vytváranom oblúku čiary, ktorý nazývame interpolačný
aproximácia - všetky vlastné body riadiaceho útvaru nemusia ležať na vytváranom oblúku čiary, ktorý nazývame aproximačný.
Modelovanie možno aplikovať na celú usporiadanú n-ticu bodov, alebo možno modelovať po častiach, pričom výsledná čiara je zložená z elementárnych oblúkov, najčastejšie kubických. Oba spôsoby modelovania čiar majú svoje výhody i nevýhody. Ak interpolujeme naraz celú n-ticu bodov, výsledná čiara je stupňa n-1, má veľa extrémov (extrémne krivosti v niektorých bodoch, inflexné body) a väčšinou nie je možné zmeniť lokálne (len v okolí niektorého bodu) jej tvar, modelovanie čiary je nepružné. Pri modelovaní po častiach je nevyhnutné zabezpečiť spojitosť a hladkosť výslednej čiary v spoločných bodoch jednotlivých oblúkov, a to zhodnosťou niektorých prvkov riadiacich útvarov napájaných oblúkov, čiže v súbore vstupných údajov pre počítačové spracovanie. Tieto súbory bývajú v praktických prípadoch veľmi obsiahle a neprehľadné a ich zmena je náročná a nepohodlná. Uvedieme niekoľko typov modelovaných oblúkov najčastejšie sa vyskytujúcich v používaných CAD systémoch konštruovania s podporou počítačov.
Kubickým oblúkom modelovanej čiary je oblúk, ktorého riadiacim útvarom je usporiadaná štvorica bodov rozšíreného euklidovského priestoru
Pi = (xi, yi, zi, hi) pre i= 0, 1, 2, 3, kde hi = 0, 1
Generujúcim princípom je aproximácia (interpolácia) určená usporiadanou množinou kubických interpolačných polynómov
Pli(u) = aiu3 + biu2 + ciu + di pre i = 0, 1, 2, 3
spĺňajúcich podmienku (1).
Fergusonova kubika je interpolačná čiara určená začiatočným a koncovým bodom a vektormi dotyčníc v týchto bodoch. Interpolácia je určená kubickými Hermitovými polynómami.
Syntetická reprezentácia: ({P0, P1, a 0, a1}, I(u) )
Analytické reprezentácie:
riadiaci útvar - P0 = (x0, y0, z0, 1) P1 = (x1, y1, z1, 1)
a0 = (xA0, yA0, zA0, 0)
a1 = (xA1, yA1, zA1, 0)
mapa oblúka čiary
M = ( P0 P1 a0 a1)generujúci princíp - I(u) = (F0(u), F1(u), G0(u), G1(u)), kde
F0(u) = 2u3 -3u2 + 1 F1(u) = -2u3 + 3u2 G0(u) = u3 -2u2 + u G1(u) = u3 - u2
sú
Hermitove interpolačné polynómy, pričom modelovaný útvar - r(u) = M.IT(u) = P0F0(u) + P1F1(u) + a0 G0(u) + a1G1(u), u ∈ < 0, 1 >Platí: r(0) = P0 r(1) = P1 r´(0) = a0 r´(1) = a1
Začiatočným bodom oblúka Fergusonovej kubiky je bod
P0, koncovým bodom bod P1.Vo väčšine praktických aplikácií je interpolačná čiara určená len usporiadanou množinou vlastných bodov, ktorými má prechádzať. Vektory dotyčníc určujúce zakrivenie (prvú krivosť) v danom bode modelovanej čiary sú volené empiricky a ich voľba spôsobuje konštruktérom nez
anedbateľné problémy, pretože významne ovplyvňujú tvar výslednej čiary.Nech Pi-2 Pi-1 Pi Pi+1 Pi+2 je časť lomenej čiary určenej bodmi riadiaceho útvaru interpolačnej čiary (obr. 3.31). Akimovou konštrukciou určíme v bode Pi vektor dotyčnice. Nájdeme body Ai, Bi a Ci, pre ktoré platí
Pi-2Pi-1 ∩ PiPi+1 = Ai
Pi-1Pi ∩ Pi+1Pi+2 = Bi
AiBi ∩ Pi-1Pi+1 = Ci
ti = PiCi , ak je Ci nevlastný bod, potom AiBi // Pi-1Pi+1 // ti, | ti| = | Pi-1Pi+1 |
V prvých (posledných) dvoch bodoch usporiadanej postupnosti bodov riadiaceho útvaru treba vektor dotyčnice určiť inou metódou, napr. ako vektor dotyčnice oblúka kužeľosečky (paraboly) prechádzajúceho prvými (poslednými) tromi bodmi.
Iný spôsob určenia vektorov dotyčnice je
D-interpolácia, pri ktorej je vektor dotyčnice a v bode Pi určený ako lineárna kombinácia vektorov tvorených daným bodom a bodmi riadiaceho útvaru Pi-1 (predchádzajúci) a Pi+1 (nasledujúci) (obr. 3.32).
j=
Vektor ai je kolmý priemet vektora bi do vektora súčtu di.
Interpolačná kubika, ktorej vektory dotyčníc riadi
aceho útvaru { P0 P1 a0 a1} sú určené pomocou D-interpolácie, a ktorej interpolačné polynómy sú Hermitove, sa nazýva D-splajn kubika.Owerhauserova kubika je interpolačná čiara určená usporiadanou n-ticou bodov a Hermitovou interpoláciou, pričom vektory dotyčníc čiary sú určené len v začiatočnom a koncovom bode čiary.
2. Bézierova kubika
(kubický aproximačný oblúk)Bézierova kubika je aproximačná čiara určená štyrmi vlastnými bodmi riadiaceho útvaru. Aproximácia je určená Bernštejnovými kubickými polynómami.
Syntetická reprezentácia: ({P0 , P1 , P2 , P3}, I(u))
Analytické reprezentácie:
riadiaci útvar - Pi = (xi, yi, zi, 1) pre i = 0, 1, 2, 3
mapa oblúka čiary
M = (P0 P1 P2 P3)generujúci princíp - I(u) = (Be03(u) Be13(u) Be23(u) Be33(u)), kde
Be03(u) = (1-u)3 Be13(u) = 3u(1-u)2 Be23(u) = 3u2(1-u) Be33(u) = u3
sú Bernštejnove aproximačné polynómy, pričom .
modelovaný útvar r(u) = M.I(u) = P0Be03(u) + P1Be13(u) + P2Be23(u) + P3Be33(u), u ∈ < 0, 1 >
Platí: r(0) = P0 r(1) = P3 r´(0) = 3 P0 P1 r´(1) = 3 P2 P3
Začiatočný bod oblúka je bod
P0 a vektor dotyčnice oblúka v tomto bode je trojnásobkom vektora v prvej strane riadiaceho polygónu 3P0P1. Koncový bod oblúka je bod P1, vektor dotyčnice v tomto bode je trojnásobkom vektora v poslednej strane riadiaceho polygónu 3P2P3. Uvedené geometrické vlastnosti modelovaného kubického oblúka zaručujú použité Bernštejnove polynómy, pomenované po ruskom matematikovi Bernštejnovi, ktorý ich použil už v roku 1912 na aproximáciu funkcií. Všeobecný vzorec pre určenie týchto polynómov stupňa n je, pre i = 0,...,n, kde n je stupeň.
Homogénne súradnice vnútorných bodov Bézierovej kubiky s krivočiarymi súradnicami z intervalu (0,1) možno nájsť z bodovej funkcie výpočtom.
Bod Bézierovej kubiky zostrojíme pomocou konštrukcie nazývanej algoritmus Boor - de Casteljau (obr. 3.34).
3. Coonsova B-splajn kubika (kubický aproximačný oblúk)
Coonsova B-splajn kubika je aproximačná čiara určená štyrmi vlastnými bodmi riadiaceho útvaru. Aproximácia je určená Coonsovými kubickými polynómami (obr. 3.35).
Syntetická reprezentácia: ({P0, P1, P2, P3}, I(u))
Analytické reprezentácie:
riadiaci útvar - Pi = (xi, yi, zi, 1) pre i = 0, 1, 2, 3
mapa oblúka čiary M=(P0 P1 P2 P3)
generujúci princíp - I(u) = (Co03(u) Co13(u) Co23(u) Co33(u)), kde
Co03(u) =
Co13(u) = sú Coonsove aproximačné polynómy
Co23(u) =
Co33(u) =
modelovaný útvar- r(u) = M.IT(u) = P0Co03(u)+P1Co13(u)+P2Co23(u)+P3Co33(u), u ∈ < 0, 1 >
Platí: r(0) = ((P0 + P2)/2 + 2P1)/3 r´(0) = (P2 - P0)/2
r(1) = ((P1 + P3)/2 + 2P2)/3 r´(1) = (P3 - P1)/2
Začiatočný bod oblúka je bod ťažnice prechádzajúcej vrcholom P1 a stredom strany P0P2 trojuholníka P0P1P2 ležiaci v jednej tretine dĺžky ťažnice od vrchola P1 (antiťažisko trojuholníka).
Koncový bod oblúka je antiťažisko trojuholníka P1P2P3 na ťažnici prechádzajúcej vrcholom P2 a stredom strany P1P3.
Vektory dotyčníc v týchto bodoch sú kolineárne s vektormi P0 + P2 , P1 + P3.
Geometriu modelovaného oblúka zaručujú Coonsove polynómy pomenované podľa amerického počítačového grafika Coonsa, ktoré sú B-splajn kubickými polynómami.
Skutočnosť, že modelovaná čiara neobsahuje žiadny z bodov riadiaceho útvaru a pri modelovaní nie je dostatočne zrejmá poloha začiatočného a koncového bodu oblúka, predstavuje určitú nevýhodu pri praktickom používaní
B-splajn kubík v konštruovaní s podporou počítačov. Pôvodný riadiaci útvar, usporiadanú štvoricu bodov {P0 , P1 , P2 , P3} možno nahradiť novým útvarom - náhradným riadiacim polygónom {Q0 , Q1 , Q2 , Q3}, ktorý zostrojíme tak, aby body P0 a P3 boli začiatočným a koncovým bodom aproximačného B-splajn oblúka s riadiacim útvarom určeným náhradným polygónom{Q0 , Q1 , Q2 , Q3}, krivku "natiahneme" do bodov P0 a P3 (obr. 3.36).|Q1P1| = |P1P2| = |P2Q2|
|Q´0P0| = |P0P1|
|Q0Q´0| = 2|Q´0Q1|
|Q´3P3| = |P3P2|
|Q3Q´3| = 2|Q´3Q2|
Vo všetkých predchádzajúcich typoch modelovaných čiar je možné dosiahnuť zmenu tvaru čiary iba zmenou prvkov riadiaceho útvaru, ktoré predstavujú súbor vstupných údajov pre spracovanie počítačom. Tento súbor je v praktických prípadoch veľmi objemný a neprehľadný, čo obmedzuje modelovacie možnosti konštruktéra. Zmenu vnútorných vlastností modelovaného oblúka možno dosiahnuť aj zmenou generujúceho princípu, t.j. zmenou tva
ru použitých polynomických funkcií, možnosťou meniť hodnoty ich koeficientov pomocou niekoľkých parametrov.4.
β-splajn kubika (kubický aproximačný oblúk)β-splajn kubika je aproximačná čiara určená usporiadanou štvoricou vlastných bodov priestoru. Aproximáciu určujú β-splajn kubické polynómy.
Syntetická reprezentácia: ({P0 , P1 , P2 , P3}, I(u))
Analytické reprezentácie:
riadiaci útvar - Pi = (xi, yi, zi, 1) pre i = 0, 1, 2, 3
mapa oblúka čiary M = (P0 P1 P2 P3)
generujúci princíp - I(u) = (Ba03(u) Ba13(u) Ba23(u) Ba33(u)), kde
Ba03(u) =
Ba13(u) =
Ba23(u) =
Ba33(u)
=sú β-splajn aproximačné polynómy.
modelovaný útvar - r(u) = M.IT(u) = P0 Ba03(u) + P1Ba13(u) + P2Ba23(u) + P3Ba33(u), u ∈ < 0, 1 >
Koeficienty β-splajn polynómov sú funkciami dvoch parametrov, ovplyvňujúcich vnútorné vlastnosti modelovaných oblúkov.
Parameter β1 - ťah ovplyvňuje polohu začiatočného a koncového bodu oblúka,
"doťahuje" čiaru k prvému, príp. koncovému bodu riadiaceho útvaru.
Parameter β2 - napätie ovplyvňuje prvú krivosť modelovaného oblúka vo vnútorných bodoch,
"napína" ("uvoľňuje") čiaru smerom ku strane (od strany) P1P2 riadiaceho útvaru.
Ak β1 = 1 a β2 = 0, dostávame Coonsove B-splajn polynómy.
5. Racionálne kubiky (kubické aproximačné oblúky)
Racionálna kubika je aproximačná čiara určená usporiadanou štvoric
ou vlastných bodov priestoru a kladnými váhami bodov (zvolenými reprezentantmi z tried homogénnych súradníc bodov). Váha bodu vyjadruje mieru, akou bod ovplyvňuje tvar modelovanej čiary. Aproximácia je určená kubickými polynómami.Syntetická reprezentácia: ({h0P0 , h1P1 , h2P2 , h3P3}, I(u))
Analytické reprezentácie:
riadiaci útvar - Pi = hi(xi, yi, zi, 1), hi > 0, pre i = 0, 1, 2, 3
mapa oblúka čiary
M = (h0P0 h1P1 h2P2 h3P3)generujúci princíp - I(u) = (Pl03(u) Pl13(u) Pl23(u) Pl33(u)), kde
Pli3(u) pre i = 0, 1, 2, 3 sú aproximačné kubické polynómy - Bernštejnove, B-splajn, β-splajn, pre ktoré platí
modelovaný útvar - racionálne rozšírenie kubickej aproximačnej čiary
(Bézierovej, Coonsovej, B-splajn, β-splajn) reprezentované bodovou funkciou
R(u) = M.IT(u) = ,
kde H(u) = je váhová funkcia, nenulová pre u ∈ < 0, 1 >.
Oblúk racionálnej aproximačnej kubiky je pre
u ∈ < 0,1 > určený racionálnou bodovou funkciouV závislosti od veľkosti váhy každého bodu riadiaceho útvaru sa mení tvar modelovaného oblúka.
Pre hodnoty
Oblúky kužeľosečiek
možno modelovať ako aproximačné Bézierove racionálne kvadratické oblúky (obr. 3.38).Syntetická reprezentácia: ({h0P0 h1P1 h2P2 }, I(u))
Analytické reprezentácie:
riadiaci útvar - Pi = hi(xi, yi, zi,1), hi > 0, pre i = 0, 1, 2
mapa oblúka čiary M = (h0P0 h1P1 h2P2)
generujúci princíp - I(u) = (Be02(u) Be12(u) Be22(u)), kde
Be02(u) = (1-u)2 Be12(u) = 2u(1-u) Be22 (u) = u2
sú Bernštejnove aproximačné polynómy druhého stupňa
modelovaný útvar R(u) = M.IT(u) =
r(u) = R(u)/H(u), H(u) = , u ∈ < 0, 1 >, h0 = 1-ρ, h1 = ρ, h2 = 1-ρ, ρ =
Bod O je stred úsečky P0P2 a bod P = PE (PP príp. PH)
je bod oblúka modelovanej kužeľosečky, ktorou je
elipsa pre ρ < 0,5
parabola pre ρ = 0,5
hyperbola pre ρ > 0,5
Pri modelovaní racionálnych aproximačných kriviek po častiach, keď sú spájané oblúky rôznych stupňov, hovoríme o neuniformných racionálnych čiarach.
NURBS
- neuniformné racionálne B-splajn krivky sú považované za aproximačné čiary najširšieho praktického uplatnenia, vďaka pomerne jednoduchým analytickým reprezentáciám, možnosti lokálnej zmeny tvaru modelovanej čiary zmenou váhy príslušného bodu riadiaceho útvaru (nie je potrebná zmena jeho homogénnych súradníc) a možnosti vytvárať čiaru z oblúkov rôznych stupňov podľa požadovaného tvaru výsledku.Na obr. 3.39 sú použité Fergusonove kubické oblúky pri modelovaní písmen gréckej abecedy, na obr. 3.49 je nápis modelovaný z Bézierových kubík. Bézierove kubiky sú najčastejšie používané aproximačné čiary v grafických programových vybaveniach (SketchPad, AutoCAD, MSGraph, CorellDraw, CorellFlow) a bývajú súčasťou kresliacich procedúr poskytovaných textovými editormi (MSWord, AmiPro, Word Pro, a pod.).
Obr. 3. 39