Křivky, popsané v předchozích kapitolách, se díky svým vlastnostem hojně využívají ve 3D a to především při generování povrchů (je to způsobeno tím, že křivky a povrchy jsou si v jistých směrech podobné).
Tato kapitola nepopisuje detailní konstrukce 3D těles a jejich zobrazování, avšak má pouze ukázat jak lze některé z uvedených křivek využít ke konstrukci třírozměrných těles. Pro hlubší seznámení s problematikou zobrazování ve 3D tímto odkazuji čtenáře na literaturu tímto problémem se zabývající.
Existuje řada známých operací jako např. tažení (angl. extrusion), otáčení (angl. revolution) či vedení (angl. ruled) pro tvorbu povrchů. Pro tvorbu povrchů pomocí těchto operátorů se nejčastěji používá křivka NURBS, kterou se např. předdefinuje profil či obrys daného tělesa (2D) a z něj se pomocí operátorů vygeneruje 3D objekt.
Povrchy těles, které se vytvářejí pomocí operátoru tažení jsou navrhovány tak, že se pomocí křivky nadefinuje profil (tzv. profilová křivka) a pak se pomocí operátorů tažení "táhne" tato křivka v určitém směru. Jestliže má profilová křivka tvar :
( 12.1 )
pak vzorec pro tažený povrch je :
( 12.2 )
Kde v (konstantní isoparametrická křivka) je původní profil a u (konstantní isoparametrická křivka) je úsečka definující směr tažení, zde je použita lineární NURBS křivka (t.j. R2(v)).
Obr.12.1 Klíč vytvořený pomocí tažení
Povrchy vytvářené pomocí otáčení jsou generovány za využití křivky (např. NURBS), která leží v xz-rovině. Povrch je vygenerován tak, že se křivka otočí o 360O okolo osy z. Požadovaný povrch (Obr. 12.2) má tvar :
( 12.3 )
Obr. 12.2 Povrch vytvořený pomocí otáčení
Obr. 12.2 ukazuje model vytvořený pomocí otáčení profilu. Řídící síť se sestává z 9 rohových řídicích bodů a 9 středových bodů (na hranách). Dále pak každý z řídicích bodů je použit pro generování 9 řídicích bodů čtverce.
Povrchy vytvářené pomocí operátoru vedení (řízení) využívají toho, že každý bod, který koresponduje s daným parametrem t křivky, je propojen pomocí úsečky s jiným bodem na jiné křivce.
Takto se například vytvářejí povrchy mezi dvěmi křivkami NURBS :
Obr. 12.3 zobrazuje vedený povrch mezi půlkružnicí a polovinou čtverce. Tento vedený povrch byl vytvořen pomocí u = konstantních isoparametrických čar (přímé čáry) rovnoměrně rozmístěných okolo čtverce a nerovnoměrně okolo kružnice.
V předchozí kapitole byla zmíněna tvorba povrchů 3D těles za využití jedné (maximálně dvou) křivek a případného operátoru. Tato kapitola se zabývá generování ploch definovaných pomocí polynomů, které se používají pro vytváření 2D křivek. Následující text potvrzuje, že pomocí 2D křivek se dají jednoduše generovat 3D plochy.
Mějme dáno (m + 1)(n + 1) opěrných bodů Pi,j, dále pak (m + 1) parametrů ui a (n + 1) parametrů vj. Opěrnými body Pi,j lze proložit síť P(u, v), kde P(ui, vj) = Pi,j pro i = 0 ,. . ., m a j = 0,. . .,n.
Nejčastěji se používají plochy určené vektorovým polynomem
( 12.4 )
musí platit :
( 12.5 )
Obr. 12.4 Interpolační plocha určená 16-ti body
Bézierova plocha stupně (m, n) je definována vzorcem :
( 12.6 )
Kde Pi,j tvoří řídící síť Bézierovy plochy a Bim(u), Bjn(v) jsou Bernsteinovy polynomy. Výraz Bim(u)Bjn(v) tvoří Bernsteinovy polynomy dvou proměnných u,v stupně (m, n).
Pro tyto polynomy platí (podobné vlastnosti jako ve 2D) :
Platí-li: n = m = 3, pak Bézierovu plochu plochu nazýváme Bézierovým bikubickým plátem :
( 12.7 )
Bernsteinovy polynomy :
B0(t) = (1 - t)3
B1(t) = 3t(1 - t)2
B2(t) = 3t2(1 - t)
B3(t) = t3
( 12. 8 )
Obr. 12.5 Bézierův bikubický plát
Bod na Bézierově ploše lze vypočítat opakovaným použitím de Casteljau algoritmu, pak lze rovnici Bézierovy plochy zapsat ve tvaru :
( 12.9 )
kde : , j=0, . . ., n jsou Bézierovy křivky stupně n.
( 12.10 )
B-splajn plocha stupně (k, 1) je určena :
( 12.11 )
Body Pi,j tvoří řídící síť B-splajn plochy Nik(u), Njl(v) jsou normalizované bázové funkce.
Parametrizace je dána uzlovými vektory :
U = (u0 = . . . = uk, uk+1, . . . , um, um+1 = . . . = um+k+1),
V = (v0 = . . . = vl, vl+1, . . . , vn, vn+1 = . . . = vn+l+1), kde u, v Î <0, 1>
Vztah Nik(u) Njl(v) reprezentuje B-splajn bázové funkce dvou proměnných stupně (k, l).
Vlastnosti bázových funkcí :
Obr. 12.6 B-splajn bázová plocha N22(u) N33(v)
Pro m = n = 3 pak B-splajn plochu nazýváme bikubickou B-spline plochu (někdy též Coonsův plát). Vzorec výpočtu tohoto plátu je určen :
( 12.12 )
a báze mají tvar :
B0(t) = (1 - t)3/6
B1(t) = (3t3 - 6t2 + 4)/6
B2(t) = (-3t3 + 3t2 + 3t +
1)/6
B3(t) = t3/6
( 12.13 )