Skip to content


«
»

Základy počítačového 3D modelování

3D ikona

Počítačová grafika je velmi široký obor. Může se jednat o zpracování fotografií, nejrůznější grafy a také 3D grafika. S tou se setkáváme např. ve hrách, CAD programech, vizualizacích, atd. Je nutno si však uvědomit, co je vlastně 3D grafika. Stále jsou zobrazovací zařízení vlastně 2D, takže zobrazení 3D objektů na 2D ploše je dáno pomocí stínů, barev, přechodů, osvětlení, atd. Tuto oblast počítačové grafiky nazýváme 3D modelování, na které se nyní stručně podíváme. Pro tento typ grafiky používáme výlučně vektorovou grafiku.

Jak již jsme v úvodu zmínili, počítačová grafika může mít mnoho podob – fotografie, matematické vykreslování funkcí, vektorové obrazy v CAD a samozřejmě také 3D grafika, která vyjadřuje 3D scény. Tomu říkáme 3D modelování, jedná se tedy o zobrazení 3D objektů na 2D zobrazovací plochu (monitor). Vynecháme nyní stereoskopické vidění, uvažujme běžný monitor. Kromě dělení počítačové grafiky na 2D a 3D dělíme grafiku na 2 důležité skupiny:

  • bitmapová (rastrová) – obraz je tvořen konečným počtem pixelů, který dává rozměry obrazu
  • vektorová – obraz je tvořen z objektů, které jsou popsány matematickými rovnicemi (křivky, čáry, tělesa,…)

Toto dělení je velmi důležité. Běžný uživatel se patrně vždy setká s bitmapovou grafikou, např. fotografie. Ta je dána svým rozlišením a tedy rozměry. Obraz je tvořen maticí pixelů mxn, tedy m řádků a n sloupců. Nemůžeme na fotografii např. posunout postavu. Samozřejmě ji můžeme upravovat, retušovat, měnit kontrast, jas, atd. Ale to vše jsou v podstatě změny hodnot pixelů, tedy tzv. bodové operace. Každý pixel je dán trojicí hodnot RGB (kanálů červené, zelené a modré barvy) a výsledná barva pixelu je smícháním těchto kanálů. Nevýhodou je fakt, že při zvětšení uvidíme jednotlivé pixely (kostičkování obrazu).

Naproti tomu vektorová grafika má zcela jiné použití. Využívá se v CAD aplikacích pro počítačové projektování a také právě pro 3D grafiku. Princip je zcela jiný. Obraz není tvořen pixely (samozřejmě na monitoru jako zobrazení ano), ale samotná tvorba je jiná. Základem vektorové grafiky jsou objekty, které jsou popsány matematickými rovnicemi. Tyto objekty jsou editovatelné, tedy je můžeme upravit. Např. nakreslíme čtverec, ten vyplníme modrou barvou a celý jako objekt ho můžeme roztáhnout do obdélníku, vymazat, dát mu jinou barvu, atd. Totéž platí pro 3D modelování, základem jsou tělesa, tzv. objemová primitiva (kvádr, koule, krychle, kužel, atd.). Těmto objektům poté přiřazujeme barvy, textury, stíny, odlesky, osvětlení, atd. Výsledkem 3D modelování je 3D scéna. Programů, které se používají pro 3D modelování je mnoho. Od špičkových 3D modelovacích nástrojů jako je Cinema4D či Maya, přes freeware aplikace jako např. Blender, dále pak různé CAD/CAM aplikace, atd. Ke článku byl použit freeware nástroj ParaView.

Ukažme si, jak vypadá takový základní model koule.

Drátěný model koule

Drátěný model koule

To co vidíme na obrázku, je tzv. drátěný model. Tím většinou tvorba 3D scén začíná. Kažéd těleso je reprezentována tímto modelem, který vypadá jako z tenkého drátu. Podíváme-li se pozorně, uvidíme trojúhelníky. Tomu se říká trojúhelníková síť a většina těles v drátěném modelu je sestrojena právě z těchto trojúhelníků. Jsou to vlastně malé plošky, jejichž počet ovlivňuje kvalitu modelu. Ukažme si 2 rozdílné koule s malým a velkým počtem trojúhelníků.

Drátěné modely koule s různým počtem trojúhelníků

Drátěné modely koule s různým počtem trojúhelníků

Samozřejmě např. krychle je tvořena čtverci, nikoli trojúhelníky. Ale čtverec můžeme rozdělit na trojúhelníky. Trojúhelník je víceméně základním 2D obrazcem nejen pro modelování. Nyní chceme samozřejmě těleso nějak barevné, nejen drátěný model. Ukažme si na příkladu kuželu, jak může malý počet trojúhelníků drátěného modelu ovlivnit výsledek a dostaneme jehlan.

Jehlan místo kužele

Jehlan místo kužele

Zkusmě 60x zvýšit počet trojúhelníků. V podstatě geometricky to bude stále jehlan, kužel by musel mít opravdu podstavu kruhu. Ale nám se již bude jevit jako kužel, protože počet trojúhelníků (480) již bude dostatečný k věrnému zobrazení bez přechodů.

 

Kužel

Kužel

K drátěnému modelu, trojúhelníkové síti a obecně k základům 3D modelování patří otázka stínování povrchu. Jedná se o to, jak bude povrch „hladký“. Ukažme si opět na modelu koule, která je nejvhodnějším reprezentantem, jaké jsou možnosti stínování. Jedná se o plošné a Gouradovo stínování. Vymodelovali jsme kouli se stejným počtem trojúhelníků a na jedno použili ploché stínování, na druhou Gouradovo (a zelenou barvu).

Drátěný model, ploché a Gouradovo stínování

Drátěný model, ploché a Gouradovo stínování

Zcela nalevo vidíme drátěný model. Koule uprostřed je stínována pomocí plochého stínování a zřetelně jsou vidět jednotlivé plošky, takže povrch je viditelně sestaven z těchto plošek. Je to proto, že u plochého stínování se každá ploška vyplní stejnou barvou, což u menšího počtu trojúhelníků způsobí tento efekt. Vpravo zelená koule má stejný počet trojúhelníků (tedy i plošek), ale je použito Gouradovo stínování. To spočívá v tom, že u vnitř plošky je barva interpolována a tedy není stejná jako u plošného modelu. Matematický popis je však nad rámec, Gouradovo stínování interpoluje barvu dle polohy, osvětlení, atd. Je náročnější na zpracování. Ještě existuje Phongův model, který navíc přidává odrazy, zrcadlovou složku a tzv. spekulární osvětlení.

Navržení drátěného modelu je základem pro modelování. Od kvality toho modelu se dále bude odvíjet kvalita celé scény. Jak jsme si předvedli, změna drátěného modelu dokáže z jehlanu udělat (vizuálně) kužel a tak pomocí jednoho základní tělesa vytvoříme další. Například tak stejně z krychle bychom udělali kvádr změnou měřítka jedné osy.

V modelovací praxi se neobejdeme bez barevného prostoru RGB-alpha, který dovoluje přiřazovat objektům průhlednost dle koeficientu „alpha“. Jedná se tak o rozšíření RGB aditivního modelu barev. Průhlednost můžeme použít např. v souvislosti s řešením viditelnosti objektů u tzv. booleovských operací, což je jednoduše řečeno aplikace množinových operací jako je průnik, sjednocení a rozdíl na 3D objekty. Můžeme tak simulovat např. průniky těles, které se například často řeší v deskriptivní geometrii a tzv. CSG modelování (Computer Solid Geometry).

Využití barevného prostoru RGB-alpha pro simulaci průniků těles.

Využití barevného prostoru RGB-alpha pro simulaci průniků těles.

Nedílnou součástí 3D modelování je využití geometrických transformací. Následující obrázek ukazuje 4 základní – posun (translace), změna měřítka (scale), rotace (orientace) a změna počátku souřadnic (origin). Všechny parametry lze nezávisle měnit v osách X, Y a Z.

Základní geometrické transformace

Základní geometrické transformace

Nastínili jsme naprosté základy 3D modelování. Ke zvládnutí tohoto oboru je samozřejmě potřeba znát daleko víc, ohledně osvětlování, kamer, stínů, atd. Nicméně jsme si pověděli základy, jak vlastně 3D grafika vzniká, vysvětlili modelování drátěného modelu a následné stínování. Většina 3D scén začíná modelováním jednoduchých těles, až teprve poté se spojují, osvětlují, atd. Vysvětlili jsme taktéž rozdíl mezi bitmapovou a vektorovou grafikou.

Rubrika: Návody, Ostatní, Tipy.

0 reakcí

Mějte přehled o nových komentářích, přihlašte se k odběru RSS kanálu komentářů tohoto příspěvku.

Některé HTML je povoleno

(vyžadováno)

(vyžadováno, nebude nikde zobrazeno)