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ómy

Pli(u) = ainun + ain-1un-1 +...+ ai1u + ai0

spĺňať túto podmienku:
súčet polynómov vzťahujúcich sa na vlastné body riadiaceho
útvaru (v danom usporiadaní) sa rovná jednej

            (1)

Analytická reprezentácia modelovaného oblúka určeného usporiadanou n-ticou bodov

M = ( 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).


1. Fergusonova kubika (kubický interpolačný oblúk)

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

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      (0) = a0     (1) = a1

Začiatočným bodom oblúka Fergusonovej kubiky je bod P0, koncovým bodom bod P1.
Vektor dotyčnice v bode
P0 je vektor a0, v bode P1 vektor a1.
Geometrické vlastnosti modelovaného oblúka stanovujú podmienky pre určenie koeficientov použitých interpolačných polynómov. Názov Hermitove polynómy je odvodený z mena matematika Hermita, ktorý už v 19. storočí poznal uvedené polynómy a použil ich pri interpolácii funkcií. Aplikovaný generujúci princíp sa nazýva Hermitova kubická interpolácia. Súradnice vnútorných bodov oblúka Fergusonovej kubiky možno určiť výpočtom z bodovej funkcie pre hodnoty krivoiarych súradníc príslušných bodov z intervalu (0,1).

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 nezanedbateľné problémy, pretože významne ovplyvňujú tvar výslednej čiary.
V kvalitnejších CAD systémoch je zabezpečená možnosť určovania vektorov dotyčníc v závislosti od riadiaceho útvaru - usporiadanej množiny vlastných bodov tak, aby mala výsledná interpo
lačná čiara "kľudný priebeh", kopírujúci bez väčších extrémov tvar riadiacej lomenej čiary. Jednou z metód určovania vektorov dotyčníc v bodoch interpolačnej čiary je Akimova interpolácia.

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 riadiaceho ú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     (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).


Nech a = 1/3 je krivočiara súradnica hľadaného bodu kubiky z intervalu (0, 1).
V jednej tretine dĺžky od začiatočného bodu každej z úsečiek
P0P1 , P1P2 , P2P3
ležia body
P0', P1', P2' určujúce nový riadiaci útvar,
ktorý zredukujeme obdobnou konštrukciou až na úsečku
P0''P1''
a ďalej na bod Bézierovho oblúka P(1/3).
Pre vektor dotyčnice v tomto bode platí
(1/3) = P0´´P1´´.


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) =


Co23(u) =            Co33(u) =

sú Coonsove aproximačné polynómy, pričom .

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    (0) = (P2 - P0)/2

    r(1) = ((P1 + P3)/2 + 2P2)/3 (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 tvaru 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) =          

β-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 štvoricou 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 funkciou


V závislosti od veľkosti váhy každého bodu riadiaceho útvaru sa mení tvar modelovaného oblúka.
Pre hodnoty
h0 = h1 = h2 = h3 je modelovaným oblúkom príslušná Bèzierova, Coonsova B-splajn, príp. β-splajn kubika.

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