Vnímání barev a barevné modely. Rastrová grafika, základní rastrové formáty souborů. Vektorová grafika, reprezentace 2D a 3D objektů, základní formáty souborů pro 2D a 3D data. Principy 3D modelování a mapování textur.
B4B39VGO Webové stránky předmětu
Vnímání barev – tvorba barevného vjemu v lidském oku, kolorimetrický experiment, srovnávací funkce (CIE RGB), barevné prostory CIE XYZ a CIE xyY, chromatický diagram.
Barevné modely – aditivní a subtraktivní skládání barev. Barevné modely založené na primárních barvách RGB a CMY(K). Abstraktní barevné modely HSV a HSL.
Rastrová grafika – obraz jako signál, vzorkování, alias a antialisaing. Kvantizace barev, polotónování a dithering. Přímá reprezentace barev (direct color) a indexovaná reprezentace barev. Transformace rastrového obrazu. Komprese rastrového obrazu. Základní formáty GIF, PNG a JPEG a jejich vlastnosti.
Vektorová grafika a reprezentace 2D objektů – reprezentace 2D objektů pomocí parametrických polynomiálních křivek - Bézierovy křivky a B-spline křivky, formát SVG.
Reprezentace 3D objektů a principy 3D modelování – polygonální reprezentace 3D objektů a datové struktury pro jejich reprezentaci, formát OBJ. Bézierovy a B-Spline plochy. Základní modelovací operace s použitím polygonální a polynomiální reprezentace 3D objektů: blokování, bridge, extrude, loft, rotační plochy, volné modelování. Dělené plochy (subdivision surfaces), jejich reprezentace a výhody při modelování oproti B-spline plochám. Implicitní plochy a jejich reprezentace a využití při modelování. Sochání (sculpting).
Principy mapování textur – zobrazení textury na 3D objektu s použitím UV mapování. Různé způsoby vytvoření UV mapování a k čemu jsou vhodné.
1. Vnímání barev
Lidské oko vnímá světlo jako elektromagnetické vlnění v rozsahu přibližně 380 až 720 nm. Každá vlnová délka odpovídá určité vnímané barvě – např. modrá (krátké vlny), zelená (střední), červená (dlouhé). Vjem barvy vzniká v mozku kombinací signálů ze tří typů světločivných buněk – čípků.
1. Tvorba barevného vjemu v lidském oku
Struktura oka a sítnice
Sítnice (retina) pokrývá ~2/3 vnitřního povrchu oka a obsahuje dva typy fotoreceptorů:
Tyčinky (~120 milionů) – velmi citlivé na jas (světlo/tma), ale nerozlišují barvy.
Čípky (~8 milionů) – rozlišují barvy, existují ve třech typech:
Největší koncentrace čípků je v oblasti zvané žlutá skvrna (makula) – zajišťuje nejostřejší vidění.
Slepá skvrna – místo, kde z oka vystupuje optický nerv; bez fotoreceptorů, mozek chybějící obraz doplní.
-
Světlo a barva
Monochromatické světlo – má jednu konkrétní vlnovou délku (např. laser).
Polychromatické světlo – směs více vlnových délek (běžné světlo).
Barva – není fyzikální vlastností objektu, ale vjem vznikající v mozku jako reakce na složení dopadajícího světla.
Oko je nejcitlivější na zelené světlo, pak červené, nejméně na modré.
Metamery – dvě různá spektra světla, která vyvolají stejný barevný vjem, protože produkují stejnou odpověď čípků.
To je důvod, proč je možné barvy reprezentovat v trojrozměrném barevném prostoru (např. RGB), i když spektrum světla je spojité.
2. Kolorimetrický experiment
Provádí se s:
Referenčním polem – monochromatické světlo s danou vlnovou délkou \( \lambda \),
Testovacím polem – kombinace tří monochromatických světel (červená, zelená, modrá).
Účastník upravuje intenzity světel v testovacím poli, aby se výsledek opticky shodoval s referenční barvou.
Ne každá barva je dosažitelná kombinací RGB – některé vyžadují záporné intenzity, které nelze fyzicky realizovat.
3. Barevné prostory podle CIE
CIE RGB
Vznikl z kolorimetrického experimentu.
Definuje tři srovnávací funkce \( \bar{r}(\lambda), \bar{g}(\lambda), \bar{b}(\lambda) \), které popisují vnímání jednotlivých RGB složek pro danou vlnovou délku \( \lambda \).
Některé barvy mohou vyžadovat záporné hodnoty, což je nepraktické pro fyzickou reprezentaci.
-
CIE XYZ
CIE xyY
\[
x = \frac{X}{X + Y + Z},\quad y = \frac{Y}{X + Y + Z},\quad z = \frac{Z}{X + Y + Z}
\]
\[
x + y + z = 1
\]
Z hodnot \( x, y \) (chromatičnosti) lze při známém jasu \( Y \) zpětně rekonstruovat kompletní barvu.
Barvy lze znázornit ve 2D pomocí chromatického diagramu, který je užitečný při srovnávání barevných gamutů (rozsahu barev) různých zařízení.
4. Chromatický diagram (CIE 1931)
Zobrazuje všechny barvy, které může lidské oko vnímat.
Okraj křivky reprezentuje monochromatická světla (čisté vlnové délky).
Přímka mezi dvěma body A a B značí všechny barvy, které lze získat směsí těchto světel.
Trojúhelník ABC – barvy dosažitelné kombinací tří světel.
Bod bílého světla (white point) – neutrální barva vnímána jako bílá.
Diagram se často používá pro analýzu a porovnání barevných gamutů zobrazovacích zařízení.
-
2. Barevné modely
Barevné modely slouží k reprezentaci barev v digitálních zařízeních (displeje, tiskárny) i při práci s barvami v softwaru. Liší se tím, jakým způsobem skládají barvy (aditivně/subtraktivně) a jak jsou pro uživatele intuitivní.
1. Aditivní a subtraktivní skládání
Aditivní skládání (RGB) – barvy vznikají sčítáním světla. Používá se např. u displejů, projektorů. Kombinací všech tří barev (R, G, B) v maximální intenzitě vzniká bílá.
Subtraktivní skládání (CMY(K)) – barvy vznikají odčítáním (absorpce světla pigmenty). Používá se v tisku. Kombinací všech tří složek CMY vzniká tmavě šedá, proto se přidává černá složka K (black).
2. Modely založené na primárních barvách
RGB model
Tvořen třemi složkami: Red, Green, Blue.
Reprezentován jako jednotková krychle – každý kanál má rozsah 0–1 nebo 0–255 (8bitová reprezentace).
Běžné varianty: sRGB, Adobe RGB, které se liší rozsahem (gamutem) zobrazitelných barev.
Gamut RGB lze znázornit jako trojúhelník v chromatickém diagramu (pro danou svítivost).
-
CMY(K) model
Barvy: Cyan, Magenta, Yellow, doplněné o Black (K).
Používá se v tisku, kde barvy vznikají absorpčním mícháním pigmentů.
Přidání černé (K) zlepšuje kvalitu tisku a snižuje spotřebu barev.
Gamut CMY(K) je menší než RGB, nelze s ním tisknout jasné odstíny, protože pigmenty omezují svítivost.
-
3. Problémy modelů RGB a CMY(K) pro uživatele
Složité nastavování neprimárních barev – změna jedné složky ovlivní i odstín.
Nelze snadno měnit pouze sytost nebo jas bez ovlivnění odstínu.
Neodpovídají lidskému vnímání – změna v hodnotách nemusí odpovídat očekávanému vizuálnímu výsledku.
-
4. Abstraktní modely: HSV a HSL
Modely HSV a HSL byly navrženy pro intuitivnější práci s barvami – například při výběru barvy v grafických editorech.
HSV (Hue, Saturation, Value)
Hue (odstín) – úhel v barevném kruhu (0–360°)
Saturation (sytost) – čistota barvy (0 = šedá, 1 = čistá barva)
Value (jas) – celkový jas barvy
-
HSL (Hue, Saturation, Lightness)
Hue (odstín) – stejné jako u HSV
Saturation (sytost) – rozsah čistoty barvy
Lightness (světlost) – 0 = černá, 1 = bílá, 0.5 = plná barva
-
5. Kvantizace barev
3. Rastrová grafika
Rastrová grafika reprezentuje obraz jako mřížku pixelů, kde každý pixel nese informaci o barvě. Vzniká digitalizací spojité obrazové funkce pomocí vzorkování a kvantizace.
1. Digitalizace obrazu
Obraz jako signál
PPI a DPI
2. Vzorkování, aliasing a anti-aliasing
Vzorkování
Vzorkování s frekvencí \( f_s \) musí být alespoň 2× vyšší než maximální frekvence signálu – tzv. Shannonův teorém.
Nedostatečné vzorkování ⇒ aliasing – falešné vzory, zubaté hrany, moaré efekt.
Antialiasing
3. Kvantizace, polotónování a dithering
Kvantizace barev
Polotónování
Nahrazení pixelu mřížkou bodů různé hustoty tak, aby se z dálky jevily jako jiná barva.
Používá se např. v tisku novin.
-
Dithering
4. Reprezentace barev
Přímá reprezentace (Direct color)
Indexovaná reprezentace
Při transformacích (např. rotace, změna velikosti, zkosení) dochází ke změně souřadnic pixelů, které nemusí odpovídat celým číslům.
To může způsobit:
Forward mapping – každý pixel původního obrázku je promítnut do nových souřadnic pomocí transformační matice.
Inverse mapping – pro každý pixel výsledného obrázku hledáme odpovídající pozici v původním obrázku.
Nearest neighbor – použije nejbližší pixel, rychlé, ale hrubé.
Lineární interpolace (LERP) – využívá dvě hodnoty, lineárně je spojí.
Bilineární interpolace – vážený průměr ze čtyř okolních pixelů.
Kubická interpolace – plynulejší přechody, využívá více sousedů.
6. Komprese rastrových obrázků
Typy komprese
Bezeztrátová (lossless) – zachována všechna původní data, obraz lze přesně rekonstruovat.
Ztrátová (lossy) – část dat se ztrácí, využívá se limitace lidského vnímání.
Bezeztrátové metody
RLE (Run-Length Encoding) – opakující se hodnoty zapsány jako počet + hodnota. Vhodné pro jednoduché obrázky s opakujícími se barvami.
Huffmanovo kódování – podle četnosti symbolů se vytvoří binární strom; časté symboly mají kratší kód.
LZW (Lempel-Ziv-Welch) – dynamické slovníkové kódování; využívá se např. v GIF a PNG.
Ztrátová metoda – JPEG
Postup JPEG komprese
Převod RGB → YCbCr
Downsampling (podvzorkování)
Rozdělení obrazu na bloky 8×8 pixelů
Diskrétní kosinová transformace (DCT)
Kvantizace DCT koeficientů
Entropické kódování
Indexované barvy – max. 256 barev v paletě (8bitová hloubka).
Barvy mohou být 24bitové (RGB), průhlednost pouze zcela průhledná / zcela neprůhledná.
Komprese: bezeztrátová LZW.
Podporuje:
Vhodné pro loga, diagramy, skici – nevhodné pro fotografie.
PNG (Portable Network Graphics)
Podporuje:
Komprese: bezeztrátová (dvoustupňová: příprava + LZW).
Vhodné pro loga, technické výkresy, skici i obrázky s průhledností.
Nevýhoda: větší soubory než JPEG u fotek.
JPEG (Joint Photographic Experts Group)
Používá ztrátovou kompresi (viz výše).
Barvy: přímé 24bitové RGB (bez alfa kanálu).
Nepodporuje průhlednost.
Vhodné pro fotografie – nevhodné pro obrázky s ostrými hranami (loga, texty), průhledností nebo nízkým počtem barev.
4. Vektorová grafika a reprezentace 2D objektů
Vektorová grafika popisuje obraz pomocí geometrických útvarů (např. úsečky, křivky, elipsy), nikoliv maticí pixelů. Vektorové objekty lze libovolně zvětšovat bez ztráty kvality, protože se vykreslují dynamicky při každé změně velikosti nebo přiblížení.
Používá se v nástrojích jako Adobe Illustrator, Corel Draw, Flash nebo při práci s formátem SVG (Scalable Vector Graphics).
1. Reprezentace 2D objektů
Objekty jsou tvořeny segmenty křivek (např. šipky ve Wordu) a definovány kontrolními body.
Každý objekt má svou modelovou transformační matici, kterou lze kombinovat s dalšími.
Objekty lze seskupovat do scénických grafů – skupiny mají vlastní transformace, které se aplikují na všechny podobjekty.
Kromě tvaru lze u objektů nastavit:
Výplň (fill) – např. barva, gradienty; pravidla výplně: Non-zero a Even-odd.
Styl hran (stroke) – tloušťka, barva, typ čáry (plná, čárkovaná…).
2. Parametrické polynomiální křivky
Parametrické křivky popisují 2D (či 3D) tvar pomocí funkce bodu \( P(t) \) závislé na parametru \( t \in [0,1] \). Jsou základním nástrojem pro přesnou definici tvaru, animace a transformace.
Rozlišujeme dva typy:
Interpolační – křivka prochází všemi kontrolními body (např. Lagrangeova interpolace).
Aproximační – křivka kontrolní body jen “následuje”, ale neprochází jimi přesně (např. Bézier, B-spline).
Spojitost segmentů u křivek
Spojitost (continuity) určuje, jak hladce na sebe navazují segmenty složených (piecewise) křivek. Každý segment je sám o sobě plynulý, ale přechody mezi nimi mohou být ostré nebo hladké podle typu spojitosti.
Parametrická spojitost (Cⁿ) – zajišťuje hladkost na základě derivací:
C₀ spojitost (pozice)
C₁ spojitost (rychlost)
C₂ spojitost (zrychlení)
I druhá derivace je spojitá – zakřivení se mění plynule.
Křivka je ještě plynulejší, vhodná pro CAD nebo animace.
Geometrická spojitost (Gⁿ) – zachovává pouze vizuální hladkost, bez ohledu na velikosti derivací:
G₀ – jako C₀, segmenty se spojí ve stejném bodě.
G₁ – tečny mají stejný směr, ale mohou mít jinou velikost.
G₂ – křivka má plynulé zakřivení (ne nutně přesně stejné derivace jako u C₂).
Geometrická spojitost je méně striktní než parametrická, ale často dostačující pro vizuální hladkost v praxi (např. v grafice a modelování).
Bézierovy křivky
Definovány kontrolními body \( P_0, \dots, P_n \) a Bernsteinovými polynomy.
Neprochází všemi body, ale vždy začíná v \( P_0 \) a končí v \( P_n \).
Křivka je vždy uvnitř konvexního obalu svých bodů.
Nejčastěji používané stupně:
Výpočet pomocí de Casteljauova algoritmu – opakovaná lineární interpolace.
Lze spojovat s garantovanou C₀, C₁ a C₂ spojitostí (viz podmínky na body).
de Casteljauův algoritmus (pro Bézierovy křivky)
-
Pracuje s danými kontrolními body a parametrem \( t \in [0,1] \).
Opakovanou lineární interpolací mezi sousedními body vytváří nové body, dokud nezíská jediný bod na křivce odpovídající danému \( t \).
Algoritmus je rekurzivní – umožňuje:
Vyhodnocení bodu na křivce,
Dělení křivky na dvě části v libovolném \( t \),
Rendering křivky pomocí opakovaného dělení.
B-spline křivky
Piecewise aproximační křivky – složené z více segmentů.
Definovány:
Výhody:
Lepší kontrola tvaru – změna bodu ovlivní jen lokální segmenty.
Umožňují vysokou hladkost (C₂) a flexibilní tvarování.
Levnější výpočetně než Bézier pro složité křivky.
Uniformní vs. neuniformní:
Multiplicita uzlu/bodu ovlivňuje spojitost:
Reparametrizace a převod B-spline na Bézier
Aby bylo možné efektivně vykreslit B-spline křivku pomocí de Casteljauova algoritmu, je třeba provést reparametrizaci – úpravu parametrického rozsahu tak, aby odpovídal jednotlivým segmentům.
Následně se zvýší násobnost vnitřních uzlů (uzlového vektoru) na hodnotu rovnou stupni křivky. Tím se zajistí, že každý segment lze zapsat jako samostatná Bézierova křivka.
Převod zpět z Bézier na B-spline
Spojením sousedních Bézierových segmentů a snížením násobnosti uzlů vznikne zpět hladká B-spline křivka.
Výsledná křivka může dosáhnout vyšší spojitosti (např. C1, C2) podle snížené multiplicity a stupně křivky.
Použití: technické výkresy, CAD systémy.
Nejobecnější forma B-spline.
Umožňuje přidělit váhy bodům – reprezentuje se pomocí homogenních souřadnic \((xw, yw, w)\).
Zachovává tvar při:
Spojitost a tvar lze řídit pomocí multiplicity uzlů a vah.
Přesně modeluje kružnice, kuželosečky, válce, koule.
Rendering: převede se na Bézier segmenty zvýšením násobnosti uzlů.
Využití: 3D modelování, průmyslový design (CAD).
de Boorův algoritmus (pro B-spline a NURBS křivky)
Postup výpočtu bodu:
Najdi interval uzlového vektoru \( u_i \leq u < u_{i+1} \), kam parametr \( u \) spadá.
Aplikuj opakované zprůměrovávání kontrolních bodů mezi uzly (rekurze přes stupně).
Výsledkem je bod \( d^{n-r}_{i-r+1}(u) \) na křivce.
3. Rendering parametrických křivek
Parametrické křivky se nevykreslují jako celek, ale aproximují se pomocí úseček. K tomu se používá princip rekurzivního dělení křivky, které zajistí požadovanou přesnost vykreslení.
Rendering probíhá na základě algoritmu vhodného pro daný typ křivky:
Zhodnocení velikosti segmentu
U Bézierových křivek se například kontroluje plocha konvexního obalu (např. čtyřúhelník daný kontrolními body).
Pokud je oblast menší než určitý práh (threshold), segment se vykreslí jako úsečka mezi krajními body.
Dělení křivky na menší segmenty
Pokud není segment dostatečně „malý“, křivka se rozdělí na dvě části (např. v bodě \( t = 0{,}5 \)) a proces se aplikuje rekurzivně na každou z nich.
U racionálních křivek probíhá dělení v homogenních souřadnicích, aby se zachovala geometrická přesnost.
Rekurzivní vykreslování
Proces pokračuje, dokud nejsou všechny segmenty dostatečně malé pro vykreslení přímkou.
Tím vznikne čárková aproximace celé křivky.
Převod B-spline/NURBS na Bézier pro vykreslení
Výpočty v souřadnicových systémech
Pokud výpočet probíhá v kartézských souřadnicích, používá se běžná lineární interpolace
U racionálních křivek je nutné výpočty provádět v homogenním prostoru \((xw, yw, w)\), aby se zachovala spojitost a správný tvar.
Alternativní přístup – vzorkování
Křivka se vyhodnocuje v rovnoměrných parametrech a výsledné body se spojí úsečkami.
Tato metoda poskytuje rychlou, ale méně přesnou aproximaci.
4. SVG – Scalable Vector Graphics
XML formát popisující vektorovou grafiku.
Používá předdefinované značky: `<rect>`, `<circle>`, `<path>`, `<ellipse>`, `<polygon>` atd.
Scalable – velikost lze libovolně měnit bez ztráty kvality.
Podporuje:
Využívá se pro webovou grafiku, ikony, diagramy.
Vykreslování probíhá podle pořadí definic (tzv. malířův algoritmus).
5. Reprezentace 3D objektů a principy 3D modelování
3D objekty lze reprezentovat různými způsoby v závislosti na účelu použití – rendering, fyzikální simulace, nebo modelování. Každá reprezentace má specifické výhody z hlediska přesnosti, úspory paměti nebo možností úprav.
1. Typy reprezentace 3D objektů
Hraniční reprezentace (Boundary Representation) – objekt je určen povrchem složeným z polygonů (typicky trojúhelníky nebo quady).
Polygonální reprezentace – objekty tvořené:
Vertex – bod ve 3D prostoru,
Edge – spojení dvou vrcholů,
Face – plocha uzavřená hranami (trojúhelníky/čtyřúhelníky).
Polygonální polévka – nestrukturovaná množina polygonů bez topologie, opakované vrcholy, nevhodná pro úpravy.
3D mesh – strukturovaná reprezentace se známou topologií (sousednost bodů, hran, stěn).
Diskrétní reprezentace – 3D objekty uložené jako:
Rasterové obrázky (sprites, textury),
Volumetrická data – 3D pole voxelů (např. lékařské skeny).
Implicitní reprezentace – definice objektu rovnicí: např. f(x, y, z) = 0.
Procedurální reprezentace – objekt generován pravidly nebo algoritmem (např. L-systémy).
2. Datové struktury pro reprezentaci
Polygonální polévka – seznam nezávislých polygonů, žádné informace o sousednosti.
Seznam vrcholů a stěn – vrcholy uloženy zvlášť, stěny definovány indexy do seznamu vrcholů.
Winged edge – každá hrana zná sousední stěny a vrcholy, efektivní pro topologii.
Half-edge – každá hrana rozdělena na dvě orientované poloviny, vhodné pro směrové operace a reprezentaci topologie.
Lidsky čitelný textový formát pro ukládání 3D modelů.
v – vertex (x, y, z, [w]),
vt – texture coordinate (u, [v, w]),
vn – normal vector (x, y, z),
f – face (seznam vertexů, např. `f v1/vt1/vn1 …`),
l – line.
4. Parametrické povrchy – Bézierovy a B-Spline plochy
Parametrické plochy slouží k přesné reprezentaci zakřivených povrchů pomocí funkcí dvou proměnných (u, v). Povrch je tvořen pohybem kontrolních bodů po křivce, čímž vzniká síť bodů definujících tvar.
Požadavky na plochy:
Přesnost – věrné zachycení tvaru modelu.
Kompaktnost – reprezentace s malým počtem bodů, nízké paměťové nároky.
Lokalita změn – úprava kontrolního bodu ovlivní jen část povrchu.
Spojitost – typicky požadujeme C² spojitost.
Invariantnost vůči transformacím – afinní i perspektivní, zachována díky homogenním souřadnicím.
Efektivní rendering – možnost rychlé teselace.
Piecewise parametrické plochy (patches) – povrch se skládá z menších oblastí, na nichž je definována parametrizace. Toto rozdělení zajišťuje lokalitu změn.
Z křivek na plochu – např. máme křivky v u-směru a jejich kontrolní body použijeme jako kontrolní body pro křivku ve v-směru.
Bézierovy plochy
Aproximační polynomiální plochy definované maticí kontrolních bodů.
Využívají Bernsteinovy polynomy pro výpočet pozice bodů na ploše.
Nejčastěji stupně 2 nebo 3; plocha je obdélníková a uzavřená uvnitř konvexního trupu.
Spojitost: C₀ – spojení segmentů, C₁ – plynulé tangenty, C₂ – spojité zakřivení.
Rendering:
Přímý de Casteljau – bilineární interpolace mezi body ve dvou směrech (u, v).
Nepřímý de Casteljau – výpočetně náročnější, iterativní metoda poskytující větší kontrolu nad výslednou plochou.
Výhody:
Jednoduchost a snadné pochopení,
přesnost v rámci definovaného patch.
Nevýhody:
Špatná lokalita změn – úprava jednoho bodu ovlivní celý patch,
mnoho bodů potřebných pro složité plochy.
B-Spline plochy
Aproximační plochy, které jsou obecnější než Bézierovy.
Využívají dvě množiny knot vektorů – jeden pro každou parametrizaci (u, v).
Každá dimenze (směr u i v) má vlastní stupeň, vlastní množinu kontrolních bodů a knot vektor.
Výpočet bodu na ploše: přímý de Boorův algoritmus, nepřímá varianta existuje.
Spojitost lze řídit multiplicitou uzlů – více stejných uzlů znamená menší spojitost (např. C⁰).
Výhody:
Lepší lokalita změn,
méně kontrolních bodů při zachování tvaru,
snadný převod na Bézierovy patche pro rendering.
Nevýhody:
Složitější konstrukce než Bézier,
omezení na obdélníkovou topologii.
Rozšíření B-Spline ploch o váhy a homogenní souřadnice.
Schopné reprezentovat přesné kuželosečky (např. kruhy), které klasický B-Spline nezvládne.
Výhody:
Nejuniverzálnější a nejpřesnější parametrická plocha,
invariantní vůči afinním i perspektivním transformacím.
Výpočet musí probíhat v homogenních souřadnicích, následně se výsledek promítne do 3D prostoru.
Citlivé na chyby v aritmetice – např. při nesprávném převodu může dojít ke ztrátě spojitosti.
5. Modelovací operace
Blokování – skládání základních 3D tvarů (kvádry, válce, kužely) do hrubého modelu.
Bridge – spojení dvou profilů (např. křivek nebo ploch) stěnami za vzniku nové plošky; profily musí mít stejný stupeň a knot vektor.
Extrude – vytažení 2D profilu do prostoru podél přímky nebo křivky; vznikne plocha nebo těleso s konstantním průřezem.
Loft – propojení více 2D profilů podle jejich pořadí za vzniku hladkého tělesa.
Rotační plocha (lathe) – otáčení 2D profilu kolem osy; vhodné pro osově symetrické objekty jako vázy nebo kola.
Volné modelování – přímá úprava vrcholů, hran a ploch pro tvorbu složitých tvarů bez použití primitiv.
Proporcionální editace – při pohybu jednoho vrcholu jsou ovlivněny i okolní podle vzdálenosti; lze volit různé druhy plynulosti.
Sculpting (sochání) – organické modelování pomocí štětců, deformací a objemového tahu, vhodné pro tvorbu detailních povrchů.
Knife / Subdivide / Loop cut – rozdělení geometrie pro zvýšení detailu nebo změnu topologie; např. loop cut přidá nové hrany podél smyčky.
Snapping – přichytávání vrcholů k mřížce, jiným vrcholům, hranám nebo plochám; umožňuje přesné zarovnání nebo změnu topologie.
Modifiers – nedestruktivní nástroje pro úpravu geometrie jako Mirror, Array, Bevel, Boolean; lze řetězit a jejich pořadí ovlivňuje výsledek.
Subdivision surfaces (Catmull-Clark) – hladké dělení čtvercových polygonů na menší pro plynulé organické tvary; běžné v animaci.
6. Dělené plochy (Subdivision Surfaces)
Catmull-Clark – každý čtyřúhelník (quad) se dělí na čtyři menší, čímž vzniká hladší síť se spojitostí C2 (mimo výjimek).
Topologická flexibilita – není nutné dodržet obdélníkovou mřížku jako u Bézier/B-Spline povrchů, lze vytvářet složité objekty jedním povrchem.
Lokální detail – jemné detaily lze přidávat pouze v potřebných oblastech bez ovlivnění celé plochy.
Výjimečné vrcholy (póly) – vrcholy s ≠4 hranami nezaručují C2 spojitost, ale plocha zůstává vizuálně plynulá.
Ostré hrany – lze nastavit ostrost hran pomocí parametrů sharpness; při každém dělení se ostrost snižuje.
Frakční ostrost – ostrost lze nastavit i nelineárně (např. 0.6), výsledný tvar se interpoluje mezi ostrou a hladkou verzí.
Nevýhody Bézier/B-Spline – nelze modelovat objekty s více otvory, nutnost napojování více patchů, nízká lokalita změn.
Výhody Subdivision – jednoduché řízení detailu, snadná konverze na polygonální síť, univerzální pro organické i technické tvary.
Požadavky na data – použití složitějších struktur (např. winged-edge) pro sledování vztahů mezi vrcholy, hranami a plochami.
Výsledný mesh – je definován iterací dělicích pravidel, bez potřeby trimování nebo připojování dalších povrchů.
7. Implicitní plochy
Definice – implicitní plocha je určena rovnicí ve tvaru F(x, y, z) = 0 (např. koule: x² + y² + z² − r² = 0).
Vlastnosti – bod může být:
uvnitř (F(x, y, z) < 0),
na povrchu (F(x, y, z) = 0),
vně (F(x, y, z) > 0).
Výhody – snadné určení pozice bodu vůči ploše, podpora booleovských operací (sjednocení, průnik), výpočty vzdálenosti.
Pole vzdálenosti – definováno v celém prostoru, lze použít pro výpočet vzdálenosti od bodu, přímky nebo tělesa.
Modelování pomocí blobů (metaballs) – výsledný tvar je kombinací více funkcí popisujících jednotlivé objekty.
Každý objekt definuje lokální pole vlivu D® (např. D® = 1 / r² nebo Gaussova funkce).
Výsledná plocha vzniká jako isosurface celkového pole při daném prahu T.
Metaballs (Blinn 1982, Nishimura 1985) – vylepšení blob objektů pomocí funkcí s omezeným dosahem:
Parametr *a* – síla vlivu (může být i záporná).
Parametr *b* – poloměr vlivu (za hranicí r ≥ b vliv zaniká).
Výhodou je řízené spojování a oddělování tvarů podle vzdálenosti a vlivu.
Nevýhoda – změna jednoho objektu ovlivní celé globální pole (malá lokalita změn), vysoká výpočetní náročnost.
Využití – vhodné pro organické a plynulé struktury (např. kapky, tekutiny).
Rendering – extrakce izoploch pomocí:
Marching Cubes – převod na polygonální síť.
Raycasting – sledování průsečíku paprsku s izoplochou.
8. Sochání (Sculpting)
Umožňuje přirozené formování detailních objektů.
Využívá různé štětce, proporční editaci, multi-resolution mesh.
Vhodné pro organické modely, detaily, postavy.
6. Principy mapování textur
Mapování textur je proces přiřazení souřadnic textury jednotlivým bodům na povrchu 3D objektu, aby mohla být textura správně zobrazena. Nejčastější metodou je UV mapování, které převádí 3D povrch na 2D rovinu a umožňuje efektivní zobrazení detailů bez nutnosti složité geometrie.
1. Textury a mapování
Chování mimo rozsah UV:
*Repeat*: souřadnice se periodicky opakují (modulo 1),
*Extend*: souřadnice se omezí na <0,1>,
*Clip*: použije se výchozí barva (např. černá).
-
2. UV mapování
UV mapování – proces přiřazení 2D souřadnic (U, V) jednotlivým bodům modelu, které umožní přiřadit texturu ke 3D geometrii.
UV unwrapping – převod 3D modelu na 2D mapu.
3. Způsoby unwrappingu
4. Primitivní projekce
5. Další techniky
Bonus: Pokročilé techniky texturování