Toto je starší verze dokumentu!
—-
Křivky a plochy. Parametrické křivky, Interpolační křivky, Hermite, Bezier, Coons, NURBS. Spojitost, změna stupně, podmínky pro hladké navázání. Parametrické plochy. Plochy dané okrajem, tečné vektory. Bezierovy plochy, B-spline plochy, NURBS. Plátování, hladké navázání. Implicitní povrchy, dělené povrchy.
Krivky sú obyčajne v počítači reprezentované ako sústava parametrov nejakej rovnice, ktorá je následne generatívne zobrazovaná. Toto vyjadrenie môže byť v podstate trojaké – explicitné, implicitné a parametrické.
Explicitne zadaná krivka je vyjadrená funkciou a býva orientovaná v smere rastúceho
. Takto však môžu byť vyjadrené len krivky, ktoré sú zároveň funkciami, teda jednej hodnote z definičného oboru
zodpovedná jedna funkčná hodnota
.
Implicitne zadaná krivka je vyjadrená rovnicou . Táto reprezentácia je pomerne ťažko zobraziteľná, pretože neumožňuje postupný výpočet krivky. (Tieto krivky sú základom tzv. level set metód v spracovaní obrazu, viď PA166.)
Parametrický tvar krivky ju chápe ako dráhu pohybúceho sa bodu, ktorého súradnice sú funkciami parametru , teda času, a vyjadruje sa rovnicami
,
a
. Čas je z intervalu
, najčastejšie volený v rozsahu
. Výhodou parametrického zápisu krivky je možnosť zachytiť priebeh, kedy krivka prechádza viackrát v rôznych časových okamihoch rovnakými bodmi v priestore (môže sa skrížiť, uzavieť a podobne).
Uvedenými parametrickými funkciami je určená buď bodová rovnica krivky , alebo vektorová rovnica
.
Dotykový vektor (tečný vektor) v bode je určený deriváciami parametricky vyjadrenej krivky po zložkách v tvare
. Rovnica dotyčnice (tečny) v danom bode má tvar
. Vektor
sa nazýva smerový vektor priamky. Parametrická reprezentácia ľahko vyjadruje dotyčnice ku krivke, čo sa využíva pri skladaní kriviek (viac v časti o spojitosti kriviek).
Základným druhom parametrických kriviek používaných v počítačovej grafike sú krivky polynomiálne.
Výhodou je, že polynomiálne krivky vieme ľahko vyčísliť a sú jednoducho diferencovateľné. Z nich často skladáme krivky po častiach polynomiálne, ktorých segmenty sú polynomiálnymi krivkami. Najčastejšie používame krivky 3. stupňa – kubiky. Pri nich vieme napríklad zaručiť spojitosť. Modelovanie týchto kriviek prebieha pomocou definovania tzv. riadiacich bodov. Existujú 2 spôsoby interpretácie riadiacich bodov – interpolácia a aproximácia. Krivka generovaná pri interpolácií prebieha danými bodmi, avšak pri aproximácií je tvar krivky riadiacimi bodmi len určený, prechádzať nimi ale nemusí.
Parametricky zadaná kubika má tvar
,
čo môžeme v maticovom tvare zapísať ako
a jej dotykový vektor
získame deriváciou vektoru
, teda
.
V prípade kubík môžeme maticu rozpísať do súčinu , kde
je bázová matica a
je vektor geometrických podmienok, ktorý obsahuje konkrétne parametre ovplyvňujúce tvar krviky (riadiace body a dotykové vektory). Súčin
potom definuje polynomiálnu bázu (skupinu polynómov), ktorá je spoločná pre všetky krivky určitého typu. Tieto polynómy spolu s násobenými geometrickými podmienkami sa uplatňujú ako premenlivé váhy riadené parametrom
. Hodnota parametru potom určuje uplatnenie podmienky buď na začiatku krivky, vo vnútornom priebehu, alebo má najväčší vplyv na koncovú časť.
Základným spôsobom ako interpolovať funkciu zadanú v diskrétnych bodoch je použiť Langrangeov interpolujúci polynóm (po česky interpolačný).
Nevýhodou je nutnosť prepočítať všetky bázické polynómy, ak sa rozhodneme pridať ďalší uzlový bod. Uveďme si príklad výpočtu Lagrangeovho polynómu 2. stupňa.
Po výpočte príkladu získavame krivku zadanú polynómom .
Najznámejšie interpolačné krivy používané v počítačovej grafike sú Hermitovské krivky, hlavne Hermitovské kubiky (tiež aj Fergusonove kubiky). Sú určené dvoma riediacimi bodmi ,
a dvomi dotykovými vektormi
,
. Body určujú začiatočný a koncový bod krivky, smer a veľkosť vektorov jej vyklenutie. Čím je vektor väčší, tým viac sa k nemu krivka primkýna. Ak sú obidva vektory nulové, jedná sa vlastne o úsečku.
Predpis pre výpočet Hermitovskej kubiky má tvar ,
kde dostávame tzv. kubické Hermitovské polynómy (Hermitovské polynómy 3. stupňa) (červený),
(modrý),
(zelený),
(cyan).
Výhoda týchto kubík sa prejavuje pri ich nadväzovaní, keďže dotykové vektory v koncových bodoch sú priamo súčasťou definície. Napr. spojitosť je zaručená totožnosťou koncových bodov a identitou dotykových vektorov v týchto bodoch či spojitosť
docielime lineárnou závislosťou dotykových vektorov (viď spojitosť kriviek). Hermitovské kubiky sú aj základom animačných kriviek Kochanek-Bartels (viď otázka 13-gra).
Bézierove krivky sa používajú častejšie na modelovanie v dvoch rozmeroch, napríklad pri definícii fontov. Bézierove krivky -tého stupňa sú určené
bodmi riadiaceho polynómu
. Medzi vlastnosti patrí, že zmenou polohy jedného riadiaceho bodu dôjde k zmene tvaru celej krivky. Preto sa krivky často delia na segmenty nižšieho stupňa (napr. kubiky), ktoré sa postupne naväzujú.
Základom Bézierových kriviek sú Bernsteinove polynómy -tého stupňa.
Medzi vlastnosti Bernsteinovych polynómov patrí ich nezápornosť (1), súčet váh vždy 1 (3), teda výsledná krivky bude ležať v konvexnej obálke bodov riadiaceho polynómu. Rekurentná definícia (2) vychádza z lineárnej kombinácie polynómov nižšieho stupňa.
Na konštrukciu Bézierovej krivky sa používa rekurzívny algoritmus deCasteljau. Vstupom algoritmu sú riadiace body polygónu. Výstupom je bod krivky v určitom čase . Na druhom obrázku vidíme príklad výpočtu a schému výpočtu bodu Bézierovej kubiky v čase
.
Bézierova kubika je určená 4 bodmi ,
,
a
(zápis kubiky
vidíme na druhom obrázku). Popisujú ju 4 Bernsteinove polynómy 3. stupňa (vidíme ich graficky znázornené na obrázku s vlastnosťami Bernsteinových polynómov). Zaujímavé sú dotykové vektory
a
. Z tohto vzťahu pre dotykové vektory je totiž zrejmý jednoduchý a priamočiary prevod medzi Bézierovou kubikou a kubikou v Hermitovskej reprezentácii.
Prirodzený spline je po častiach polynomiálna krivka, ktorá interpoluje svoje riadiace body. Prirodzený kubický spline sa skladá z polynomiálnych kriviek 3. stupňa a vo svojich uzloch je spojitý.
V počítačovej grafike sa najčastejšie používa ale B-spline, ktorý nie je prirodzený (interpolačný), ale jedná sa o krivku aproximačnú. Poznáme dva základné typy – uniformný neracionálny a neuniformný racionálny.
Uniformný neracionálný B-splajn nazývame tiež Coonsova kubika. Je určená 4 riadiacimi bodmi ,
,
a
. Priebeh bázových polynómov Coonsových kubík môžeme vidieť na obrázku. Segment takejto krivky teda na rozdiel od Bézierových kriviek neprechádza krajnými bodmi svojho riadiaceho polygónu. Dosedením
do maticového zápisu (vidíme ho na obrázku) zistíme, že krivka začína v bode ležiacom v jednej tretine ťažnice pri
trojuholníka určeného prvými 3 bodmi (teda
,
a
). Takisto aj koncový bod krivky (na obrázku je krivka zaznačená ako segment
) v čase
leží v tretine ťažnice pri
trojuholníka určeného bodmi
,
a
.
Coonsov B-spline vzniká naväzovaním Coonsových kubík, je teda určená 4 a viacerými bodmi (). Skladá sa potom z
segmentov. Každý segment
je určený bodmi
,
,
a
. Koncový bod jedného segmentu a ziačiatočný bod ďalšieho segmentu majú rovnaké prvé a druhé derivácie, teda Coonsove krivky sú v uzloch
spojité.
Medzi dôležité vlastnosti B-spline kriviek patrí invariancia (nemennosť) voči otočeniu, posunutiu a zmene mierky. B-spline leží celý v konvexnej obálke určenej jeho riadiacimi bodmi. Zmenou polohy niektorého z riadiacich bodov sa zmení len tá časť krivky, ktorá je týmto bodom určená. Ak posunieme bod , zmení sa tvar štyroch segmentov
,
,
a
.
Neuniformné racionálne B-spline krivky sú zovšeobecnením vyššie uvedených B-spline kriviek. Neuniformné sú ale preto, lebo vzdialenosť uzlov v zmysle parametru nemusí byť konštantná. Racionálne znamená, že body sú reprezentované svojimi homogénnymi súradnicami. Krivka NURBS je určená minimálne 4 bodmi
riadiaceho polygónu, rádom
(kde najvyšší stupeň polynómu je
) a uzlovým vektorom
, ktorý je tvorený postupnosťou neklesajúcich reálnych čísel – uzlových hodnôt.
V zápise NURBS krivky je váha
-tého bodu riadiaceho polygónu a
sú normalizované B-spline bázové funkcie. Pre váhu
krivku stredný riadiaci bod neovplyvňuje (je z nej úsečka), váhe
zodpovedá prípad neracionálnej krivky. So zvyšujúcou váhou sa krivka k riadiacemu bodu stále viac primkýna. Pri
krivka bodom prechádza a dochádza tak k strate spojitosti. Podmienka nezápornosti váh zaručuje umiestnenie krivky v konvexnej obálke.
Podobne ako u Bézierových kriviek a Bernsteinových polynómov majú aj NURBS polynómy analogické vlastnosti ako nezápornosť či to, že výsledná krivka bude ležať v konvexnej obálke bodov riadiaceho polynómu. Rekurentná definícia vychádza z lineárnej kombinácie dvoch polynómov nižších stupňov. Tento rekurentný vzťah je základom Cox-deBoorovho algoritmu na výpočet bodov NURBS krivky, ktorý je zovšeobecnením algoritmu deCasteljau pre spline krivky s neuniformnou parametrizáciou.
Základom kriviek NURBS je to, že umožňujú presne definovať kuželosečky a to za pomoci spomínaných váhových koeficientov. Medzi vlastnosti kriviek ďalej patrí invariancia voči transformáciam a voči rovnobežnému stredovému premietaniu.
Predpokladajme, že a
su dve časti (segmenty) jedinej krivky
spojenej v bode
nazývanom uzol (knot). Spojitosť (continuity) je možné zjednodušene označiť ako spôsob napojenia týchto dvoch segmentov v uzle.
Hovoríme, že je triedy
, ak má vo všetkých bodoch spojité derivácie podľa parametru
do rádu
. Označenie
sa nazýva parametrická spojitosť stupňa n.
Čím vyššia je spojitosť, tím dlhšiu „dobu“ (v zmysle parametru ) oba segmenty akoby sledujú rovnaký smer. Zjavne platí vzťah
, teda napr. ak je krivka spojitá
, tak je spojitá aj
. Bod sa pohybuje po spojitej dráhe a v bode
môže skokom meniť smer pohybu, rýchlosť i zrýchlenie. V bode
nemôže skokom zmeniť smer pohybu a veľkosť rýchlosti, v bode
sa nemôže zmeniť ani zrýchlenie.
Hladkosť naviazania môžeme posudzovať tiež podľa tzv. geometrickej spojitosti stupňa n označovanej . Najčastejšie sa používajú spojitosti
a
.
Táto spojitosť nezaručuje totožnosť dotykových vektorov (tečných vektorů), ale len dotyčníc (tečen). Jednoducho vektory majú zhodný smer, nie však veľkosť. V bode sa nemení skokom smer pohybu, môže sa ale zmeniť jeho rýchlosť (krivka je vizuálne hladká). Spojitosť
je „skoro rovnaká“ ako
, ale zaručiť spojitosť
je oveľa jednoduchšie ako
. Môžme povedať, že
, ale výnimku tvorí prípad, kedy vektor rýchlosti v mieste spojenia dvoch segmentov je
. Opačná implikácia neplatí, pretože geometrická spojitosť nepostihuje rýchlosť a zrýchlenie pohybu.
(Rozpisovaním presných rovníc jednotlivých derivácií vás tu nechcem zaťažovať. Nie je v nich nič, čo by sa nedalo takto elegantne slove popísať. V prípade záujmu viď slajdy PB009 uvedené v použitých zdrojoch.)
(Tento obrázok ze zo slajdov predmetu PB009. Myslím si ale, že tretí príklad je chybne. Možno sa tým chcelo ukázať, že vektory majú rovnakú veľkosť, rozhodne ale nemajú rovnaký smer, takže parametrická spojitosť prvého stupňa tam byť nemôže. Keď tak ma, prosím, opravte. )
Vyjadrenie plochy môže byť podobne ako u krivky len s doplnením ďalšej dimenzie – explicitné, implicitné a parametrické.
Explicitne zadaná plocha je vyjadrená funkciou .
Implicitne zadaná plocha je vyjadrená rovnicou (podrobnejšie v časti o implicitných plochách).
Parametrickým vyjaderním plochy je bodová rovnica dvoch parametrov
a
nadobúdajúcich hodnoty z intervalu
, ktorá je zadaná ako
.
Dotykový vektor (tečný vektor) v smere parametru
k ploche
a dotykový vektor
v smere parametru
sú určené vzťahmi
,
.
Rovnica dotykovej roviny (tečné roviny) je určené ako .
Skruty (skrutové vektory) charakterizujú „vyklenutie“ plochy v miestach napojenia. Sú definované pomocou zmiešaných parciálnych derivácií ako .
Normálu (kolmicu) k ploche v bode určíme ako normalizovaný vektorový súčin dotykových vektorov, teda
.
Hlavná krivka plochy v smere parametru je každá krivka určená rovnicou
pevného parametru
a premenného parametru
. Analogicky to platí aj pre hlavnú krivku v smere parametru
. Rohy plochy sú body
,
,
a
. Strany plochy
sú hlavné krivky v oboch smeroch, kde pevný parameter má hodnotu
alebo
. Všetky strany dohromady tvoria okraj plochy.
Analógiou naväzovania segmentov a ich skladania do krivky aj plochy sa skladajú z častí, ktoré voláme pláty. Naväzovanie plôch sa nazýva plátovanie. AJ pri plochách rozoznávame parametrickú spojitosť a gemometrickú spojitosť
. Napríklad dva pláty sú
spojité, ak majú spoločnú stranu a priečne parciálne derivácie vo všetkých bodoch spoločnej strany sú zhodné.
Plochy sa zadávajú riadiacimi bodmi a bázovými funkciami. Väčšinou sa používajú plochy aproximačné. Interpolácia vo viac ako dvoch dimenziách je náročná a vyžaduje rozsiahle výpočty. Interpolačná plocha má
bodov. Interpoláciou vektorovým polynómom je možné plochu zapísať ako
.
Na aproximačné vyjadrenie plôch sa používajú tzv. 12-vektorový Hermitovský plát alebo 16-vektorový (obsahuje navyše 4 skrutové vektory v každom rohu plátu).
Plochy môžu byť zadané aj pomocou všetkých kriviek určujúcich okraj, napr. 4 v prípade štvoruholníkového plátu.
Bilineárna Coonsova plocha je jednoznačne určená štyrmi krivkami ,
,
a
, ktoré musia tvoriť uzavretý okraj budúceho plátu.
Rovnica, ktorá určuje bilineárnu Coonsovu plochu sa dá zjednodušene zapísať v tvare , kde bod uprostred matice
je hľadaným riešením tejto implicitnej rovnice. Na výpočet bilineárnej plochy však slúži explicitné vyjadrenie tejto rovnice, ktoré môžeme vidieť na obrázku spolu s grafickým znázornením výpočtu. Zásadným problémom plochy je, že zo zadaného okraja nie je možné jednoducho vyjadriť priečne dotykové vektory a teda nie je ľahké vytvoriť hladké spojenie dvoch takýchto plátov.
Bikubická plocha je rovnako určená štyrmi krivkami, ale popísaná vzťahom , kde dané funkcie predstavujú Hermitovské polynómy
a
. Pre rovnaké dôvody ako v predchádzajúcom prípade, ani tieto plochy sa nepoužívajú na plátovanie so spojitou prvou deriváciou.
Až všeobecná bikubická plocha (po česky obecná) umožňuje hladké naväzovanie plátov, keďže je pri nej potrebné zadávať aj dotykové vektory podľa okraja. Okrem 4 spomínaných kriviek ju preto určujú aj priečne vektory pozdĺž okrajov ,
,
a
. Ďalej je tiež určená skrutmi v jednotlivých rohoch, teda vektormi
,
,
a
.
Vzťah pre všeobecnú bikubickú plochu je rozšírený o ďalšie dva Hermitovské polýnómy tretieho stupňa ,
a implicitná rovnica plochy má tvar
.
Bézierove plochy používajú niektoré modelovacie systémy k reprezentácii povrchu telies, pretože sú ľahko diferencovateľné, jednoducho sa modelujú a tiež je pomerne ľahko môžné vypočítať priesečník s lúčom. Tieto plochy sú vlastne špeciálnym prípadom zložitejšej reprezentácie povrchov pomocou NURBS.
Na obrázku vidíme definíciu Bézierovej plochy, kde bázové funkcie a
predstavujú Bernsteinove polynómy
-tého (resp.
-tého) stupňa.
Bézierova plocha pri zmene jedného riadiaceho bodu zmení celý svoj tvar. Táto vlastnosť je nevýhodná, a preto sa plochy plátujú. Pre napojenie plátov so spojitosťou nultého stupňa musíme zabezpečiť stotožnenie riadiacich bodov, ktoré určujú príslušnú stranu. Na obrázku vidíme príklad napojenia s geometrickou spojitosťou prvého stupňa (), ktorá vzniká vtedy, ak sú priečne dotykové vektory lineárne závislé.
Metódou na zobrazovanie Bézierových plôch je polygonizácia založená na princípe rekurzívneho delenia (patch splitting), pričom sa využíva algoritmus deCasteljau.
Pre modelovanie sú B-spline plochy oveľa výhodnejšie, pretože sa naväzujú omnoho jednoduchšie než Hermitovské alebo Bézierove pláty. B-spline plochy -tého stupňa totiž zaručujú
spojitosť vo všetkých svojich bodoch. ďalšou výhodou je, že zmenou jedného riadiaceho bodu zmeníme vždy iba časť danej plochy.
Medzi vlastnosti B-spline plochy patrí:
Neuniformné racionálne B-spline plochy sú zovšeobecnením B-spline plôch a predstavujú dnes štandard v priemyslovom modelovaní. Umožňujú definovať širokú škálu plôch, napr. voľne tvarovateľné plochy na báze racionálnych polynómov (free form surfaces) alebo plochy založené na priamkách a kuželosečkách. Aj ich vznik datujeme do polovice 20. storočia pre potreby presnej matematickej reprezentácie tvaru karosérie áut, trupu lodí či lietadiel.
Z definície, a
sú normalizované B-spline bázové funkcie (
,
sú stupne polynómu) a
sú váhy jednotlivých bodov (homogénne súradnice) riadiace siete
. Váhy podobe ako v prípade kriviek určujú vplyv riadiaceho bodu na plochu, pričom so zvyšujúcou sa hodnotou váhy sa plocha k bodu primkýna. Podobne ako Bézierove plochy, aj NURBS sú invariantné k lineárnym transformáciam a vďaka racionalite sú naviac invariantné aj k perspektívnej projekcii.
O plochách NURBS hovoríme aj v prípade modelovacej techniky zvanej šablónovanie (sweeping), kde patria napríklad:
Implicitné vyjadrenie plochy tvorí alternatívu k povrchu definovanom pomocou polygónov alebo parametrických plátov. Výhodou je napríklad kompaktnejšia reprezentácia či jednoduchšie sledovanie lúča (paprsku). Výpočet sledovania lúča je ale časovo náročný, rovnako je náročné aj zobrazovanie plochy v reálnom čase. Väčšina zobrazovacích metód v konečom dôsledku aj tak prevádza implicitné plochy na parametrické vyjadrenie alebo rovinné plošky, tzv. polygonizácia implicitných plôch.
Funkcia priraďuje každému bodu v priestore nejakú skalárnu hodnotu a definuje teda skalárne pole. Nami hľadaný objekt je izoplocha, teda množina bodov s rovnakou funkčnou hodnotou. Ak
, bod leží na povrchu plochy. Ak
alebo
, možeme hovoriť, že bod leží vo vnútri (alebo vonku) objektu ohraničeného plochou, no ktorá hodnota označuje čo, už závisí na konkrétnom kontexte.
Normály povrchu sú obvykle určené gradientom príslušnej funkcie, teda .
Medzi implicitné povrchy zaraďujeme blobby objekty (kvapky) od J. Blinna, metaballs či soft objects od Wyvilla.
Príkladom implicitnej plochy (množiny bodov v trojrozmernom priestore) je guľová plocha zadaná implicitnou rovnicou
.
Implicitné plochy môžu byť reprezentované aj takzvanými dištančnými povrchmi (viď zoznam na obrázku).
Modely sú reprezentované pomocou mnohouholníkov, avšak len málokedy majú objekty reálneho sveta ostré hrany. Pri modelovaní pomocou polygónov nastávajú problémy s úrovňou detailov. Aj keď model aproximujeme dostatočným množstvom polygónov, pri zväčšení sa problém hrán znovu objaví. Riešením je delenie povrchov.
Polygonálna sieť je množina vrcholov a prepojení medzi nimi, čím definuje topológiu povrchu a vymedzuje jednotlivé plošky. Delenie je rekurzívny proces, pri ktorom je polygónová sieť zjemňovaná pridávaním vrcholov a plošiek. Pri zvyšovaní počtu vrcholov síce dochádza k výraznému spomaleniu a takéto modely sú pamäťovo náročné, ale aj napriek tomu je zjemňovanie siete významné pri tvorbe animácií a statických modelov. Generované povrchy, kedy zvyšujeme úroveň detailov sa nazývajú delené povrchy (subdivision surfaces).
Povrchy môžeme deliť nad poškami alebo deliť nad vrcholmi. Dôležitým faktorom pri delení povrchov je topológia polygónovej siete. Môže sa jednať napríklad o trojuholníkovú sieť, štvorcovú sieť alebo sieť s ľubovoľnou topológiou. Obidve nasledujúce prezentované deliace schémy však dokážu deliť povrchy s ľubovoľnou topológiou, čo je ich veľká výhoda.
Doo-Sabin je aproximačná deliaca schéma používajúca delenie nad vrcholmi.
Ploškový bod je vypočítaný ako priemer všetkých vrcholov plošky podľa vzťahu . Pre každý vrchol potom vypočítame nový vrchol prislúchajúci k pôvodnému ako priemer ploškového bodu, pôvodného vrcholu a stredu hrán, ktoré z neho vychádzajú, teda
. Takto vznikajú 3 typy nových plošiek – plošková (červená), hranová (žltá) a vrcholová (modrá).
Povrchy generované delením Doo-Sabin spĺňajú podmienku spojitosti (okrem hranice, kde je sieť otvorená).
(Tu môžete spomenúť, docent Sochor to má rád , oskarový krátkometrážny animovaný film od štúdia Pixar „Geriho hra (1997)“, ktorý režíroval český rodák Jan Pinkava a pri jeho tvorbe bola naplno využitá práve deliaca schéma Catmull-Clark (viac informácií v článku http://graphics.pixar.com/library/Geri/paper.pdf).)
Catmull-Clark je aproximačná deliaca schéma používajúca delenie nad ploškami.
Podobne ako pri delení Doo-Sabin, aj tu si spočítame poškový bod , avšak zatiaľ čo v predchádzajúcom prípade plnil len funkciu medzivýsledku pri výpočte nových bodov, teraz sa stáva súčasťou výslednej zjemnenej siete. Ďalej určíme hranový bod
ako priemer vrcholov hrany a ploškových bodov podľa vzťahu
. Posledný typ bodu, ktorý musíme spočítať je vrcholový bod
zjednodušene vyjadrený vzťahom
, kde
je priemer nových stenových bodov na stenách priľahlých k vrcholu,
je priemer nových hranových bodov a
je pôvodný vrchol.
Povrchy generované delením Catmull-Clark spĺňajú podmienku spojitosti (mimo výnimočné vrcholy dokonca až spojitosť
).
http://bspline.webuda.com/ - diplomová práca z UK o B-splajnoch, obsahuje nejaké applety na vizualizáciu a vyčerpávajúci text.
http://www.netgraphics.sk/b-splajnove-krivky - stránka v slovenčine aj angličtine taktiež s množstvom Java appletov. Prekračuje však len problematiku kriviek a venuje sa rôznym témam počítačovej grafiky.
http://www.hyperkrychle.cz/curves/ - ďalšia diplomová práca o krivkách, tentokrát z VUT.
http://www.ibiblio.org/e-notes/Splines/Intro.htm, http://www.vis.uni-stuttgart.de/~kraus/LiveGraphics3D/cagd/ - anglické texty a opäť veľké množstvo appletov na vizualizáciu kriviek.
ŽÁRA, Jiří., BENEŠ, Bedřich., SOCHOR, Jiří., FELKEL, Petr. Moderní počítačová grafika. Brno, CZ: Computer Press, 2004. 612 s. ISBN 80-251-0454-0.
SOCHOR, Jiří. Študijné materiály k predmetu „PB009 Základy počítačové grafiky“. Křivky v počítačové grafice [online]. Brno, CZ: Masarykova univerzita, 2013.