Evropský polytechnický institut, s.r.o. v Kunovicích
Studijní obor: Elektronické počítače
MODELOVÁNÍ FRAKTÁLNÍCH OBJEKTŮ V PROGRAMU BLENDER
Autor: Josefa BARTOŇOVÁ
Vedoucí práce:Prof. Ing. Pavel OŠMERA, CSc.
Hodonín, leden 2010
Prohlašuji, že jsem bakalářskou práci vypracovala samostatně pod vedením
Prof. Ing. Pavla Ošmery, Csc. a uvedla v seznamu literatury všechny použité literární a odborné zdroje.
Hodonín, leden 2010 …………………………….
Děkuji panu Prof. Ing. Pavlu Ošmerovi, CSc. za velmi užitečnou metodickou pomoc, kterou mi poskytl při zpracování mé bakalářské práce.
Hodonín, ledna 2010
Josefa Bartoňová
Obsah:
1 Analýza – možnosti programu Blender
1.3 Blender jako animační program
1.4.3 Instalace v ostatních prostředích
1.5.2 Prostředí Blender pro Windows
1.8 Blender z hlediska programátorského
1.8.1 Python programovací jazyk
2 VYUŽITÍ INFORMAČNÍCH ZDROJŮ PRO 3D FRAKTÁLNÍ OBRÁZKY
2.1.3 Dělení fraktálních objektů do kategorií
2.2 Pojmy související s fraktály
3 MODELOVÁNÍ FRAKTÁLNÍCH OBJEKTŮ V PROGRAMU BLENDER
4 KOREKCE NA ZÁKLADĚ DALŠÍCH DOPORUČENÝCH ÚPRAV
4.2 Programy specializující se na tvorbu fraktálů
5 ZÁVĚR A ZHODNOCENÍ NAVRŽENÉHO ŘEŠENÍ
V dnešní době, kdy počítačová grafika nabírá na síle, získává své uplatnění na celosvětovém trhu a má více než nadprůměrný ohlas. Jejím hlavním cílem je vytvářet objekty, pokud možno tak, aby vypadali jako skutečné. Je využita také z hlediska reálného života, a to digitálními fotografiemi a jen málo, kdo si uvědomuje, že obrázky vytvořené člověkem patří také do světa grafiky.
S jejím využitím se setkáváme téměř v každých informačních oblastech technologie. Ve 21. století, kdy počítač se stal součástí našeho života, je grafika považována za nezbytný prvek. Nicméně počítačové hry jsou tomu důkazem. Každá má své grafické možnosti a čím lepší má grafiku, tím se stává také populárnější. Tato oblast je tak široká, že zasahuje do škály filmové, tak i lékařské či do průmyslového odvětví atd.
Jak nám již název napoví, jedná se o slovní o spojení „ počítač a grafika“. Pojem počítačová grafika je pro nás zcela obvyklí. Avšak tento název nebýval vždy používán. Až začátkem šedesátých let, je s tímto pojmem spojen designérem William Fetter. Jenž se mu připisuje objevení tohoto názvu. Za první grafický program byl považován Sketchpad, u jehož zrození v roce 1963 stál Ivan Stuherland. Po tomto velkém zlomu firma IBM přivedla na trh tzv. „grafický počítač“. Co pro nás je dnes samozřejmostí, v grafickém rozhraní jako jsou ikony, symboly, bylo v 80. letech považováno za novinku. Až rokem 1995 se počítačová grafika dostala na filmové plátno, v podobě animovaného filmu Toy Story.
Počítačovou grafiku dělíme z hlediska informatiky do několika odvětví. My se budeme zabývat s trojrozměrnými objekty. 3D grafika je určena souřadnicemi x, y, z. Každý objekt je tvořen z několika polygonů, jenž vytváří celek objektu. Mezi základní nástroje pro 3D zobrazení patří práce s materiálem, stínování, pohled kamerou, volba zobrazení.
Charakteristické aplikace pro 3D prostředí jsou např. modelování neboli tvarování. Dalším je texturování a to se využívá v souvislosti generování map, kdy se nanese na sebe několik vrstev pomocí UV mapování.
Rendrování umožňuje uživateli dosáhnout takového výsledku, že objekt vypadá jako realistický a pod tímto pojmem hovoříme o tzv. virtuální realitě. A poslední je animace, jenž se rozumí pohyb světla, kamery a další. Toto využívá právě nás animační program Blender, kterým se budeme zabývat modelováním fraktálních objektů.
1 Analýza – možnosti programu Blender
Blender se řadí mezi nejnovější software, jehož použití je zaměřeno především na 3D modelaci a animaci. V dnešní době patří mezi dominantní programy a stává se grafickou velmocí, disponující s nástroji srovnatelnými pro programy jako jsou Cinema 4D, Rhinoceros a 3D Studio Max.
I když nejprve byl určen pro komerční účely, později se stal volně šířitelným Open Source Softwarem pod licencí GNU GPL. Z toho vyplývá, že je celý program zdarma. Jeho předností je podpora českého jazyku, která u grafických programů nebývá obvyklá.
Blender se stal také multiplatformním, je tedy spustitelný na všech platformách. Od Windows, Mac OSX, FreeBSD, NetBSD přes Linux, Irix a Solaris. Myslí, také na úsporu disku, zabírá kolem 15Mb, takže nejen volně dostupný, ale také úsporný program.
Z hlediska programátorského se zmiňujeme o jazyku C a C++. Takže i vývojáři si přijdou na své.
Jeho vznik se pojí s rokem 1995 a firmou NeoGeo. Kdy holandský vývojář Ton Roosendaal se zasloužil o vznik programu Blender. Program je také spojován s firmou NaN, jenž v roce 2001 představila placenou verzi. Společnost se nejen zabývala animačním programem, ale také jeho dalšími výrobky.
O rok později nastal zlom, kdy se firma dostala do finanční tísně a zkrachovala. Avšak pod vedením Tona Roosendaala, byla založena organizace Blender Foundation, která pracovala stále na vývoji Blenderu jako nezisková organizace. Po mnoha jednáních se věřitelé a společnost dohodli konečně na kompromisu. Za 100 000 eur, jenž se sehnalo za zhruba sedm týdnu byla vyplacena licence tohoto programu.
A tak ze statisícového programu se stal Blender svobodným softwarem. Blender se rok, co rok tále vyvíjí. Programátoři a dobrovolníci po celém světe se snaží obnovovat program a tak vytváří nové možnosti a posunují hranici 3D grafiky.
Verze 1.00 ( leden 1995)
začíná
se vyvíjet nový animační program Blender, pod záštitou firmy NeoGeo
Verze 1.3x ( červen 1995)
založena
firma NaN, která později představí placenou verzi programu
Verze 2.25 ( říjen 2002)
nově
využit jazyk Python, jehož skripty jsou použity pro Blender
Verze 2.26 ( únor 2003)
Blender
se stal Open Source
Verze 2.28 ( červenec 2003)
asi
největším překvapením se zde stává tvz. zvuková stopa. Uživatel zde přesně určí
pohyb a zvuk.
Verze 2.30 ( říjen 2003)
programátoři
se v této verzi předem soustředili na vzhled a přehlednost pro uživatele.
Nejen po stránce barevnosti, ale také byla přizpůsobena rolovací lišta.
Výrazným doplněním bylo tlačítko zpět.
Verze 2.34 (červenec 2004)
zde
bylo asi největší vylepšení celého programu. Doplnění o systém pro tvorbu kouře,
sněhu, ohně.
Verze 2.37 ( květen 2005)
vznikají
nástroje pro přesunutí, průhlednost stínů…atd.
Verze 2.41 ( leden 2005)
nicméně
v této verzi programu nebyli, až tak velké změny. Nutno podotknout,
jednalo se o opravy a zdokonalení programu v oblasti GameEngine.
1.3 Blender jako animační program
Blender je nástrojem pro tvorbu animací, renderování, modelování, práci s materiály a jako takový obsahuje řadu nástrojů pro tvorbu fraktálů, lidského obličeje či postavy, animace a dalších. Obsahuje také GameEngine, jenž umožňuje vytvářet počítačové hry, budovy a filmy. Spolu s renderem Yafray [1] je zcela zdarma. Blender lze stále rozšiřovat pomocí Python skriptů nebo také pomocí prvku knihovna.
Blender získává stále více na své popularitě. Za zmínku stojí i fakt, že bylo natočeno několik animovaných filmů. S rokem 2005 se také váže project Orange, jenž byl stvořen pro tvorbu animovaného filmu. Elephants dreams a asi jeden z nich nejznámější je dvacetisedmi minutový film Murnau Vampire. A počítačová hra Project Apricot či YoFrankie .
Rozhraní programu
všechna
okna lze přepínat do několika různých prostředí dle Vaší představy
využití
funkce zpět, která nebyla ve starších verzích aktivována
volba
23 různých jazyků včetně češtiny
rozložení
pracovní plochy do několika dalších
možnost
psaní poznámek
nastavení
vlastního rozhraní na všech platformách
Výstroje
vytváření
skeletu
umožnění
deformace a znázornění hmotnosti kostí a její teploty
Modeling
modelace
3D a 2D postavy
využití
3D objektů nastavené v menu
vytváření
hran nebo zaoblení a doplnění python skriptů
podpora
matematických funkcí – Booleova algebra
Rendering
materiálové
možnosti
vytváření
mlhy, krajiny, mapy
Animace
lze
přehrát samotnou animaci a její zvuk
je
zde také možnost zobrazení skeletu animace
doplnění
python skriptů pro tvorbu animace
využití
systému IPO
Stínování
prolínaní
několika materiálů
stínování
map, krajiny, postav
UV rozbalení
UV
vrstevní
tvorba
map
Zobrazování kompozice
vrstvení
souborů
Fyzika a částice
pohyblivé
částice např. voda, vlasy, vítr
Realtime
3D/ Game Tvorba
dynamická
podpora včetně zvukového efektu
nevyžaduje
programovací znalosti
Soubory
umožňuje
ukládat jak obrázky, zvukové animace tak i videa
možnost
zabalení souboru pro úsporu paměti
ukládání
s koncovkou .blend
otvírání
objektů s příponou .jpg, .tga, .png, atd.
V této části kapitoly se zmiňujeme o samotné instalaci Blenderu. Jak jsme si řekli na začátku, zařazujeme tento animační program mezi multiplatformní. Zde si popíšeme několik instalací, jelikož ale v této práci se věnujeme prostředí Windows, soustředíme se spíše na něj.
Instalační balíčky Blenderu, lze najít na spousty webových stránek. Pro snadný download, však zvolíme domovskou stránku www.blender3d.org. Zde nalezneme i nejnovější verze Blenderu, ale také příznivci starších verzí si přijdou také na své. Uživatel si zde vybere ze dvou variant, jenž mu více vyhovuje.
Varianty pro instalaci Blender:
instalace
programu Blender s koncovkou .exe
neinstalační
program Blender s koncovkou .zip
Vybrali jsme si instalaci Blender 2.49b Installer (10.5 MB). Jak už nám závorka napovídá, instalace se pohybuje velice nízko u tohoto programu.
Uložili jsme si tzv. balíček Blenderu na libovolné místo ve svém počítači. Nyní si ukážeme tedy krok po kroku jak instalovat Blender.
Obr č. 1: Instalace Blenderu
Zdroj: Staženo z BLENDER, blender.org/ [online]. 2005 - 2009 [cit. 2009-31-12].
Dostupné z WWW: http://www.blender.org/
1) Zahájíme instalaci spuštěním souboru Blender – 2.49b-windows.exe. Zde nás uvítá průvodce, avšak instalace je v anglické verzi. Průvodce nám napovídá stisknout tlačítko Next >. A to také zvolíme.
2) V druhém kroku nás seznamuje s licenční smlouvou. Ta se skládá z devíti částí, které záleží na uživateli jestli si je přečte.
3) Později máme na výběr, co vše chceme instalovat. My zaškrtneme všechna políčka a pokračujeme tlačítkem Next >.
4) Vybíráme možnost uložení Blenderu.
5) Opět si vybíráme, nyní ale složky, které chceme instalovat.
6) Posledním krokem, už je samotná instalace. Je však potřeba nainstalovat také python skripty. Na které nás průvodce Blendrem upozorní. Nalezneme je na www.python.org pro všechny platformy.
7) Po ukončení instalace, se nám objeví tlačítko finish a po jeho stisknutí se automaticky spustí program. Úspěšně jsme tedy dokončili instalaci.
1.4.3 Instalace v ostatních prostředích
Na úplný konec podkapitoly se ohlédneme za dalšími uživatelskými prostředí. V čem spočívá jejich instalace a jaké jsou jejich možnosti.
Instalace pro Linux
instalace
s koncovkou bz2 výběr ze 6variant
velikost
od 15 do 19 MB
Pro Mac OSX
neinstalační
program Blender s koncovkou .zip, bz2
velikost
14, 24 MB
Instalace pro FreeBSD
instalace
s koncovkou .gz
Instalace pro Solaris
jediná
varianta instalace s příponou bz2
je
potřeba 20 MB
Instalace pro Irix
výběr
ze tří variant – .gz, gzip, tgz
s velikostí
20 MB
Po úspěšném dokončení instalace programu se budeme zabývat tím nejdůležitějším, a to je samotné prostředí Blenderu. Ovládáme jej pomocí klávesnice a myši. Pro snadné manipulování budeme později používat klávesnicové zkratky. Avšak si musíme dávat pozor na anglické zkratky, kdy Y se pokládá jako Z a naopak. Dalším změnou jsou i číselná tlačítka.
Řekli jsme si několik zásadních pravidel o programu a teď tedy, už konečně přistoupíme k praktické části Blenderu. Po otevření programu Blender se objeví dvě okna. Jedno se zabývá chybami skriptů a druhé, které nás však více zajímá je samotný program Blender. Okno se skripty nevypínejte, neboť by se Vám vypnul celý program.
Obr č. 2: Správně nainstalovaný program i s Python skripty
Zdroj: vlastní
Obr č. 3: Program znázorňující chybu v Python skriptech
Zdroj: vlastní
V některých případech se stává, že se objeví tato tabulka. Důvodem je, že nám chybí python skripty. Ty nalezneme na stránce, kterou jsme si řekli v předcházející části kapitoly. Je zde také příslušná video - nahrávka.
1.5.2 Prostředí Blender pro Windows
Uživatel při prvním zobrazení bude asi nejspíš zmaten. Jelikož Blender nabízí mnoho nabídek a tlačítek. Nicméně Blender využívá aplikace sub window, tudíž se mu nepřekrývají žádné ikony. Avšak postupnou znalostí klávesnicových zkratek, jenž má v nabídce, nám usnadní ovládání. To si však řekneme později. Nyní se seznámíme s jeho pracovním prostředím.
![]() |
|||
![]() |
|||
Hlavní panel
Uživatelské nastavení
Světlo
Kurzor
3D
menu Kamera
![]() |
Button panel
Obr č. 4: Pracovní prostředí Blenderu
Zdroj: vlastní
Nyní si popíšeme jednotlivé části, které budeme později potřebovat k modelování objektů.
Na pracovní ploše vidíme tři okna, které se dělí podle svých funkcí:
Nahoře se nachází hlavní menu, s nímž se také seznámíme. Po rozkliknutí první ikony se nám rozbalí několik nabídek , které nám umožňují rychlý přesun k další aplikaci. A to v podobě tlačítka 3D View, jenž je zařazeno v prostřední liště prostředí, Buttons Windows jemuž náleží spodní část a zpátky se vrátíme k hlavní části User Preferences, kterou si nyní popíšeme.
User Preferences neboli Uživatelské nastavení:
Na první pohled se nám může zdát, že se jedná o velmi malé uživatelské rozhraní. Avšak po posunutí této lišty směrem dolů se nám objeví dalších 7 nabídek. Při stisknutí každého z těchto 7 tlačítek se nám nabídne specifičtější podrobnosti k danému tlačítku.
a) Tlačítko View & Controls
Je asi jedno z nejobsáhlejších nastavení pro práci s programem. K nejdůležitějším patří především zda Blender pracuje s myší 3 tlačítkovou. Jelikož práce v Blenderu obnáší použití 3 tlačítkové myší a vy jste uživatelem s dvou – tlačítkovou myší, stačí použít ALT + LMB.
b) Druhé tlačítko Edit methods
Je volbou pro nastavení tvz. Undo nebo-li kroku zpět. Kolik kroků chceme, aby si tento program pamatoval. Další možností je volba kopírování. Co všechno chceme, tedy zkopírovat do nového objektu.
c) Tlačítkem Language & Font
Jak nám název napovídá, jedná se o změnu jazyka. Je zde na výběr z dvacetitřech různých jazyků, včetně českého. Pod ním se nachází další tři podtlačítka typu: Tooltips, Buttons, Toolbox.
d) Themes
Je další z řady tlačítek , pro určení oblasti, ve které bude Blender pracovat. Jeho nedílnou součástí jsou tlačítka Default a Rounded, jenž se liší uživatelským vzhledem. (videonahrávka)
Obr č. 5: Uživatelské prostředí typu Default
Zdroj: vlastní
Obr č. 6: Uživatelské prostředí typu Rounded.
Zdroj: vlastní
e) Auto Save
Slouží k průběžnému ukládání Vaší práce. Uživatel si nastaví po jakém intervalu chce, aby se mu práce ukládala
f) Předposlední ikona náleží tlačítku jménem System & OpenGL. Je doporučované spíše pro pokročilé uživatele. Zabývá se grafickým zpracováním prvků.
Vyjmenovali jsme si stručné nastavení Blenderu. Pokud někteří uživatelé jej pozměnili podle svých představ a poté vypnuli program. Následovně pak po novém otevření zjistí, že Blender zůstal v původním nastavením, před jejich změnou. Tomu můžeme zabránit příkazem z nabídky File - Save default Settings. Nebo také zkratkou Ctrl + U.
Práce se soubory
Blender všechny soubory ukládá s koncovkou .blend Pokud uživatel nepojmenuje soubor, Blender mu automaticky název přiřadí. Avšak uživatel si sám vybere místo ukládání. Nevýhodou pro některé však bude ovládání zkratek. V tomto se Blender od ostatních Windows programů liší.
Vlastní prostředí
Jak jsme si řekli v předcházejících částech. Je možné nastavit vlastní prostředí Blenderu. Nyní si však ukážeme nastavení pracovní plochy. Rozdělíme si ji na několik částí. Ve spodní části se nachází dvě lišty. Nesměřujeme si přímo doprostřed myš. Poté se nám zobrazí dvojitá šipka. Po stisknutí pravým tlačítkem se nám rozbalí několik možností, v nichž vybereme Split area. Zde si pak určíme, jaké chceme rozpoložení své pracovní plochy.
Obr č. 7: Rozdělení pracovní plochy pomocí Split area.
Zdroj: vlastní
3D pracovní okno
Nebo-li pracovní plocha, v níž budeme pracovat. Zde se nám zobrazí všechna naše vytvořená práce. Základní menu se skládá ze čtverce, světla a kamery.Čtverec, v nimž se nachází kruh spolu se šipkami určující souřadnice nám poskytuje orientaci v prostředí. Nový objekt se nám vždycky zobrazí právě tam, kde se nachází daný kruh.
Při spuštění se také objeví kamera, nicméně nemusí to být pravidlem. Avšak v nabídce Add si jí můžeme přidat. Tento nástroj nám poskytuje tzv. pohled z kamery. Poslední a důležitou části je světlo. Osvětlí nám daný objekt podle potřeby uživatele.
V každém tomto prostředí můžeme nastavit odlišné pohledy. A to buď pohled kamerou, boční pohled či pohled shora. Mřížku vypínáme pomocí tlačítka Grid Floor. Vše si také usnadníme pomocí klávesnicových zkratek.
Obrazovky a scény
Blender nám umožňuje rozvržení do několika scén a to pomocí uživatelského nastavení User Preference. Zde si můžeme přepínat jednotlivé scény.
Vrstvy
V každém 3D programu se setkáváme s vrstvami a Blender není výjimkou. Hovoříme asi o 20 možnostech vrstev. Přepínáme je pomocí numerických kláves.
Buttons Windows
Poslední a zároveň nejpoužívanější okno Blenderu, skládá se ze 6 nabídek. Z nichž každý má svůj účel. Nachází se zde nespočet funkcí. Např. panel pro herní logiku, panel pro stínování, pro python skripty.
Blender tvoří nejdokonalejší nástroje také pro tvorbu počítačových her nebo pro profesionální animace. Stává se špičkou nejen mezi open source softwary, ale také mezi statisícovými animačními programy.
Dopodrobna jsme si řekli o prostředí Blenderu ve Windows, avšak musíme se také ohlédnout za softwarem Linux, který je velkou jeho konkurencí. Pro Linux se nachází několik variant instalací, můžeme si tedy vybrat jak ze statické instalace tak i z dynamické. Tyto dvě varianty se liší především ve svých schopnostech. Dynamický instalace akceptuje veškeré ovladače, které jsou zde naistalovány, avšak statická nerozpozná některé ovladače a nutno dodat, že se také ohléda za grafickou kartou. Instalace pro Linux je o něco složitější, než pro Window.
V pracovní ploše se v celku ani nijak neliší. Soubory uložené pod Linuxem jdou otevřít i ve Windows či na jiných platformách. Blender jako program pro Linux pracuje rychleji jak v prostředí Windows, jelikož Linux nezatěžuje tolik CPU. Výhodou je také, že je svobodný softwar narozdíl od Windows. Linux má určité výhody i nevýhody pro program, avšak myslím si, že většího rozvoje dosahuje právě ve Windows.
Jako každý program i Blender má své klávesnicové zkratky. Tím nám umožňuje lepší orientaci v programu a také úsporu času. Jelikož pro začátečníka hledání jednoho příkazu zabere i nějakou tu minutu.
Legenda: Key Ctrl + Key Shift + Key Alt + Key Ctrl + Shift + Key
Ctrl + Alt + Key
Obr č. 8: Rozdělení zkratek na myši
Zdroj: vlastní
Obr č. 9: Rozdělení zkratek na uživatelské a numerické klávesnici
Zdroj: vlastní
Představili jsme si několik zkratek pro usnadnění programu. V obrázcích máme popsány klávesnicové zkratky. Nyní máme několik vysvětlivek k dané problematice a typy a triky jak ovládat program.
A S D G
Výběr/Označení všeho Měřítko Draw mode Přemístění
Použití velikosti a rotace Uložení
Přidání animace Uchycení Kopie Vybrané skupiny
Použití animace Velikost Umístění
Použití transformace
Kopie Velikost měřítka
Z
Drát / tloušťka
Krok Zpět
Drát / stínování
Drát / materiál
G: přesunutí objektu
R: rotování
S: změna velikosti
A: označení vše prvků na ploše
Tab: edit mode
X: mazání
B: hromadný výběr
M: vrstvy
Typy a triky
Ctrl omezuje transformaci kroků
Shift umožňuje lepší práci
Ctr – C a Ctrl –V jsou tlačítka pro kopírování a vkládání textu a barev
Jestliže stisknete dvakrát za sebou R, můžete otáčet v režimu
1.8 Blender z hlediska programátorského
V předcházejících částech jsme se seznamovali s Blenderem jako s animačním programem z hlediska 3D nástrojů. Nyní se však zaměříme na Blender z části programovací. V programu se setkáváme se třemi programovacími jazyky. Hlavní část tzv. základna je napsána v jazyku C. Pro tvorbu herní logiky tzv. GameEngine a renderu yafray využíváme jazyk C++. A konečně poslední a asi nejznámější skript, který je pro Blender i pro uživatele, velice důležitý se nazývá Python. Nás bude nejvíce zajímat právě on, jelikož Blender umožňuje vytvářet uživateli podle tohoto jazyka další možnosti nástrojů v programu.
Většina animačních programů má své pluginy, jenž vytváří program dokonalejší nebo si uživatel sám vytvoří skript. U spousty programů to bývá tak, že se pluginy se zkompilují nebo vloží do adresáře a poté pracují s programem. Avšak u Blenderu je to právě naopak. Blender využívá pluginy ve formě jazyka Python. Tento jazyk také využívají další grafické programy jako jsou Maya či Photoshop.
1.8.1 Python programovací jazyk
Jeho vznik se pojí s 90. léty minulého století, kdy Guido van Rossum se zasloužil vznik tohoto programovacího jazyku. Python rozlišuje velká a malá písmen a vytváří datové struktury. Pracuje s komplexními čísly, celými, s řetězci atd. Svou strukturou připomíná jazyk C.
Python versus jazyk C
Když se ohlédneme do historie těchto programovacích jazyků, jasně zde vítězí programovací jazyk C. A to s přesahem dvaceti let. Všeobecně se traduje, že jazyk C je rychlejší než Python. Avšak není tomu, až tak pravda. Z hlediska programování je Python na vyšší úrovni a také jednodušší jazyk. Tudíž se právě on stává rychlejší.
Python a Blender
Jelikož je Python Open Source Software spustitelný na všech platformách je pro Blender tou správnou volbou. Python z hlediska Blenderu dělíme na dvě části: pro GameEngine a pro Blender. Jeho nesporná výhoda spočívá v tom, že Blender obsahuje na své pracovní ploše 3D okna, které si zde můžeme rozdělit, pro programování. Po zpracování Python skriptů se nám při spuštění zobrazí konzola, jenž kontroluje zda je skript v pořádku. Při případné chybě vygeneruje na konzolové aplikaci chyby.
Instalace Pythonů
Základní skripty nalezneme na webové stránce, kterou jsme zmínili v předcházejících částech. Ty nainstalujeme pomocí instalačního balíčku. Jelikož, ale některé skripty můžeme dotvářet sami existují dvě varianty Python pluginů. A to buď soubor s příponou .blend, jenž se vkládají přímo do Blenderu. A také druhá varianta, a to je soubor s koncovkou .py, který pracuje pomocí okna Text Editor.Kdybychom chtěli více nahlédnout do této oblasti, zjistili by jsme, že existují importní nebo exportní pluginy.
V Blenderu lze programovat pomocí dostupných modulů, které fungují na bázi konkrétní činnosti. Většina skriptů je soustředěna na oblast fraktálů. Jelikož některé moduly program nevyužívá je potřeba si nainstalovat Python jazyk a v něm programovat. To však záleží na pokročilosti uživatele. Existuje asi přes 100 python skriptů, které si uživatel může hotové spustit.
Nyní si ukážeme jednoduchý příklad Python skriptu:
Příklad 1.: Využije modelu Mesh pro tvorbu čtverce
import Blender // načtení modulu Blender
from Blender import NMesh // práce s objekty Mesh
me = NMesh. New () // vytvoření nového Mesh objektu
# me = NMesh. GetRaw () // zajišťuje získání dat
v = NMesh. Vert (1.0,0.0,0.0) // přidání vertexů
me.verts. append (v)
v = NMesh. Vert (1.0,1.0,0.0)
me. verts. Append (v)
v=Nmesh. Vert (0.0,1.0,0.0)
me. verts. Append (v)
v=NMesh. Vert (0.0,0.0,0.0)
me. verts. Append (v)
f=NMesh. Face () //vytvoření face
f.v.append (me. verts [ 0 ]) //přidělení vertexů
f.v.append (me. verts [ 1 ])
f.v.append (me. verts [ 2 ])
f.v.append (me. verts [ 3 ])
me. faces. Append (f )
NMesh. PutRaw (me, “Plane“ ) // přidání nového objektu do scény
Blender. Redraw () //překreslení scény
Jedná se o skript, který využije modelu Mesh pro tvorbu čtverce. Zde využijeme čtyři vertexy, které nám stvoří plochu. Později se připojí do scény.
Každý programovací jazyk má svůj příkaz bez, kterého by se daný program neobešel. Zde máme namysli příkaz import. Jenž nám umožňuje vkládání knihoven s nimiž pracujeme. Abychom si tento příkaz přiblížili můžeme si připomenout tento příkaz v jazyku C a to pomocí include .
Příkaz from Blender import NMesh nám určuje jaký modul vkládáme. Můžeme si vybrat z celé řady těchto modulů, avšak se zmíníme o těch nejdůležitějších. A tím jsou například moduly typu Image, World, Lamp, Texture, Kamera, Materiál. My jsme si vybrali právě NMesh.[2]
Dalším příkazem je me = NMesh. New () a me = NMesh. GetRaw () oba vykonávají podobnu funkci. Příkaz me = NMesh. New nám tvoří nový mesh a me = NMesh. GetRaw () zajistí získávání dat.
Nyní budeme pracovat s vertexy a to pomocí příkazu v = NMesh. Vert (1.0,0.0,0.0). Jak už nám závorka napovídá, pohybujeme se v oblasti 3D grafiky. A tudíž se jedná o souřadnice x, y, z. Příkaz me.verts. append (v) zastupuje určitý vertex.
Krok f = NMesh.Face() nám zadává příkaz, který vygeneruje plochu a s tím se pojí příkaz f.v. append určuje kolik vyvolá vertexů. Příkazem me. faces. Append (f ) nám přiřadí daný mesh. Ke konci nás volá příkaz Nmesh. PutRaw (me, “ Plane “) a konečný příkaz Blender. Redraw () nám vygeneruje celou scénu.
Příklad 2.: Vložení skriptů pomocí koncovky .blend
Obr č. 10: Vložení skriptů pomocí koncovky .blend
Zdroj: vlastní
Na levé části pracovní plochy se nachází práce s nástroji. Jenž odpovídá noži. Po pravé straně se nachází dvě okna, které umožňuje Blender pro psaní Python skriptů a poznámek. Zdrojový kód je také barevně rozlišen.
Jelikož je, ale tato práce založena na modelování fraktálních objektů seznámili jsme se s tímto tématem pouze okrajově. Existuje mnoho příruček, které se zabývají tímto problémem. Proto jej nebudeme dále rozebírat.
Kontrolní otázky:
1) Vysvětli pojem počítačová grafika
2) Kdo je považován za zakladatele pojmu „ Počítačová grafika“
3) Rozvoj počítačové grafiky
4) První grafický program
5) Co znamená klávesnicová zkratka A?
6) Pojem Blender ( k čemu je určen, platformy, historie…..)
7) Funkce Blenderu
8) Instalace pro Windows
9) Instalace pro ostatní softwary
10) Jaké ikony se spustí při otevření programu?
11) Popiš jednotlivé části pracovního prostřední Blenderu
12) K čemu slouží Buton Panel?
13) Výhody a nevýhody Linuxu a Windows pro program Blender
14) Co znamená klávesnicová zkratka R, S ?
15) Který programovací jazyk využívá Blender?
2 VYUŽITÍ INFORMAČNÍCH ZDROJŮ PRO 3D FRAKTÁLNÍ OBRÁZKY
Jelikož cílem práce je modelování fraktálních objektů, je potřeba se s nimi hlouběji seznámit. Fraktální geometrie se zařazuje mezi vědní obory zasahující do mnoha dalších oblastí. Jelikož jsme ve 21. století hovoříme o fraktálých v souvislosti s počítačovou grafikou. Zde nalezneme podrobně jejich členitost a také pojem nekonečně členitý útvar jehož protikladem je geometricky hladký útvar, jenž je popsána Euklidovskou geometrií.
Z hlediska počítačové grafiky patří fraktální geometrie k nejsložitějším objektům , avšak po bližším zkoumání zjistíme, že se jedná o jednoduchou konstrukci objektu.
S fraktály se setkáváme na každém kroku. Někteří z nás ani neví, co vlastně fraktál je. Jeho definice nelze přesně učit, proto se jí aspoň pokusíme přiblížit. Jedná se o geometrický objekt, jenž se dělí na stejné menší části. Jde o takzvaný self – similar, kdy malé části jsou kopií celého objektu. Pro bližší seznámení jej nalezneme v přírodě ve formě sněhové vločky, listí, hor.
O fraktálech se také můžeme zmínit v souvislosti s lidským tělem. Mozek je tomu jasným důkazem, kdy je rozdělen na menší sobě podobné části. V lidském těle se jako fraktál nachází nejen mozek, ale také šroubovice DNA, krevní buňky a spousta dalších. Z hlediska matematického hovoříme o rovnici, která je založena na principu odezvy ku opakovanému volání tzv. „sama sebe“.
Právě v počítačové grafice mají fraktály největší uplatnění. Otevírají možnosti pro zkoumání fraktální geometrie jako vědní oboru. Nalezneme hojně dostupné grafické programy pro jejich modelování. Je několik typů pro samotnou modelaci fraktálů a několik druhů metod. Mezi nejznámější metody patří skenování, animace, procedurálního modelování. My se budeme zabývat modelováním pomocí programu Blender, ale nalezneme uplatnění frakálů i v jiných programech. Mimo jiné využijeme i program s názvem AFractal, jenž nám přiblíží Mandelbrotovu a Juliovu množinu, jejich znalosti uplatníme ve třetí kapitole.
Fraktální geometrie je samostatná a dnes již poměrně rozsáhlá vědní disciplína zasahující do mnoha dalších oborů, která je intenzivně rozvíjena zhruba od šedesátých let minulého století. Za jejího zakladatele je dnes považován vědec polského původu a objevitel fraktálů Benoit B. Mandelbrot, který jako první matematicky definoval pojem fraktál (fractal).
O definici fraktálu se sice vědci a umělci do jisté míry pokoušeli i před B. B. Mandelbrotem (fraktály jsou ostatně odnedávna patrné prakticky na každém kroku v okolní živé i neživé přírodě), jejich popis však byl velmi vágní a neúplný, proto je B. B. Mandelbrotovi právem připisováno prvenství. 3
Fraktální geometrie je samostatná a dnes již poměrně rozsáhlá vědní disciplína zasahující do mnoha dalších oborů, která je intenzivně rozvíjena zhruba od šedesátých let minulého století. Za jejího zakladatele je dnes považován vědec polského původu a objevitel fraktálů Benoit B. Mandelbrot, který jako první matematicky definoval pojem fraktál (fractal).
O definici fraktálu se sice vědci a umělci do jisté míry pokoušeli i před B. B. Mandelbrotem (fraktály jsou ostatně odnedávna patrné prakticky na každém kroku v okolní živé i neživé přírodě), jejich popis však byl velmi vágní a neúplný, proto je B. B. Mandelbrotovi právem připisováno prvenství. 3
O slově fraktál se hovořilo stále, avšak ne v souvislosti s geometrií. Jeho název získal původ z latinského slova fractus neboli zlomený. Jak jsme si řekli v předešlé části, fraktál nebyl nikdy definována. Avšak Bendit B. Mandelbrot se přiblížil k definici fraktálu.
„Fraktál je množina či geometrický útvar, jejíž Hausdorffova dimenze je (ostře) větší než dimenze topologická“.
Benoit B. Mandelbrot
2.1.3 Dělení fraktálních objektů do kategorií
Z pohledu počítačové grafiky je důležité, že fraktální objekty spadající do stejné kategorie se vytvářejí podobnými algoritmy (jejich tvar se samozřejmě liší). Podle nejhrubšího dělení (které si budeme v dalších částech seriálu zjemňovat) rozlišujeme následující typy fraktálů:
Dynamické
systémy s fraktální strukturou
L-systémy
Systémy
iterovaných funkcí IF
Stochastické
fraktály (nepravidelné fraktály)
Dynamické systémy s fraktální strukturou
Dynamické systémy tvoří tu skupinu (resp. kategorii) fraktálů, která má v technické praxi nejširší uplatnění. Dynamický systém je matematický model, jehož stav je závislý na nějaké nezávislé veličině, většinou to bývá na čase – odtud je také odvozován název těchto systémů. Dynamický systém vychází z počátečních podmínek a je jimi v čase determinován. Tento případ, který v určitých ohledech připomíná iracionální čísla, má většinou fraktální dynamiku a označuje se (pro někoho nesmyslným) termínem deterministický chaos.
L-systémy, jež jsou v některé literatuře také označovány termínem Lindenmayerovy systémy, jsou skupinou fraktálů definovaných pomocí přepisovacích gramatik. Uvádí se, že název pochází z anglické zkratky LOGO-like turtle. LOGO je přitom známý programovací jazyk určený pro výuku programování, jež je založený na Lispu. V tomto jazyku se pomocí jednoduchých příkazů ovládajících virtuální želvu pohybující se po ploše dají kreslit různé obrazce složené povětšinou z úseček. [3]
Systémy iterovaných funkcí IFS
Tvorba obrázků pomocí IFS systémů patří mezi generativní metody vytváření fraktálů, kterou řadíme mezi metody deterministické. Algoritmus pro generování IFS fraktálů však může být jak deterministický, tak nedeterministický (tj. stochastický – viz v dalších dílech prezentovaný algoritmus RWA). Práce se systémy IFS představuje jednu z často používaných aplikací procedurálního modelování těles. Ve velkém množství případů se však jedná o pouhý podpůrný nástroj bez další návaznosti na celé trojrozměrné scény.
Stochastické fraktály (nepravidelné fraktály) [4]
Poměrně velkou skupinu fraktálů tvoří fraktály nepravidelné. Zatímco všechny předchozí skupiny (resp. typy) fraktálů byly v určitém smyslu symetrické, nepravidelné fraktály vnášejí při generování fraktálu do algoritmu náhodu. Tento typ fraktálů také umožňuje nejlepší popis přírodních objektů. Zatímco při generování stromu klasickým L-systémem nebo IFS koláží dostaneme jako výsledek perfektně symetrický strom, je skutečnost už na první pohled zcela jiná. Strom rostoucí v přírodě má nepravidelné délky a tloušťky větví, úhel růstu větví také není vždy stejný, strom rostoucí v lese má jiný tvar než tentýž druh stromu rostoucí osamoceně apod.
2.2 Pojmy související s fraktály
Ústřední pojem při zkoumání fraktálů hraje jejich dimenze, a to jak dimenze topologická, tak i dimenze fraktální (někdy také nazývaná dimenze Hausdorffova podle německého profesora židovského původu Felixe Hausdorffa). 4
Topologická dimenze
Geometricky hladké objekty, které je možné popsat klasickou Euklidovskou geometrií, mají celočíselnou dimenzi, nazývanou také topologická dimenze (před zkoumáním fraktálů si vědci vystačili právě s touto dimenzí).
Pokud si celou problematiku zjednodušíme, můžeme říci, že topologická dimenze určuje počet parametrů (nezávislých proměnných), kterým lze dané těleso (resp. každý bod na tělese) popsat. Například bod má nulovou dimenzi, jelikož je sám popsán vztahem P=X (tj. konstantním vektorem) a úsečka má dimenzi rovnu jedné, neboť ji lze popsat vztahem yt=y0+kt, kde t je jediný parametr (nezávislá proměnná). Pozici každého bodu ležícího na úsečce lze vyjádřit výše uvedeným vztahem.6[5]
Hausdorffova dimenze
Objekty popisované fraktální geometrií mají dimenzi neceločíselnou. Dimenzi fraktálních objektů nazýváme fraktální dimenzí či Hausdorffovou dimenzí. Hodnota této dimenze (resp. míra rozdílu mezi fraktální dimenzí a dimenzí topologickou) potom udává úroveň členitosti daného objektu.5
Atraktor
Zejména při popisu dynamických systémů a systémů iterovaných funkcí (IFS) se často setkáme s termínem atraktor. Při zobrazování IFS systémů většinou vykreslujeme právě atraktor tohoto dynamického systému.Atraktor (anglicky attractor) dynamického systému je množina stavů, do kterých systém směřuje. Jinými slovy se jedná o množinu hodnot, kterých může nabývat stavový vektor dynamického systému po dostatečně dlouhém časovém úseku od počátečního impulzu (resp. od chvíle, kdy je systém inicializován).
Atraktory rozdělujeme do několika základních tříd:
atraktorem
systému může být množina pevných bodů (fixed points)
atraktorem
může být množina periodických bodů
atraktorem
může být množina kvaziperiodických bodů
atraktor
je chaotický
atraktor
je „podivný“ (strange attractor)6
Chaos
Termínem chaos je označena taková vlastnost nějakého dynamického a současně i deterministického(!) systému, při jejíž platnosti je nemožné vypočítat budoucí stav systému. Chaos nastává zejména u těch dynamických systémů, které vykazují velkou citlivost na počáteční podmínky. V takových systémech se při volbě minimálně dvou nekonečně blízkých počátečních bodů (reprezentujících počáteční podmínky systému) tyto dva body posléze exponenciálně vzdalují, takže budoucí stav systému není možné žádným způsobem předpovědět. 6
Soběpodobnost
Soběpodobnost je jedna z určujících charakteristik fraktálu. Jak už nám samotný název napovídá. Jedná se o objekt, jenž je sám sobě podobný. Pro přiblížení soběpodobnosti si řekneme jednoduchý příklad z oblasti přírody. Vem - me si na ukázku takové kapradiny. Jeden list je stejný jako ostatní. Když dáme vedle sebe několik kapradin jsou vesměs stejné. Nijak se od sebe neliší. Je zde však určitá změna. A to ve výšce, rotaci. Ale tyto změny jsou zanedbatelné pro fraktály. Jsou vyvíjeny z jedné části, která se opakuje na celé rostlině. A tohle opakování se nazývá soběpodobnost. 6
Obr č. 11: Mandelbrotova množina při zvetšení množiny M.
Zdroj: vlastní
Na obrázku vidíme důkaz, že množina po obvodu je stejného tvaru. Je tzv. souvislá.
Eukleidovská geometrie
Se zabývá hladkými geometrickými útvary jako jsou čtverec, krychle či koule. Dají se snadno vypočítat a mají dané některé vlastnosti jako je povrch nebo objem.
Existuje nespočet druhů fraktálů a také spoustu matematiků, kteří se podíleli na definicích fraktálu pomocí příkladů. Podle nichž jsou také tyto fraktály pojmenovány my si na ukázku předvedeme pár těchto objektů.
Mandelbrotova množina
Mezi nejznámější patří Mandelbrotova množina I když její název a objevení je připisováno Benoitovi B. Mandelbrotovi, zasloužil se o její definici však Francouz Pierre Fatou. Nicméně Fatou pracoval na svých výpočtech pouze manuálně, kdežto Mandelbrot měl k dispozici i počítač.
Obecné formulování této množiny zní z n+1 = zn2+c. Kde c se chová jako komplexní číslo množiny, to umocníme podle tohoto vzorce, avšak z0 = 0 Jedná se o fraktál v rozmezí od [ -2;-2] do [ 2;2].
Obr č. 12: Mandelbrotova množina
Zdroj: vlastní
Juliovy množiny
Jak u Mandelbrota i u Julia nese svůj název po svém objeviteli. Fungují na principu iterace funkce komplexní paraboly, kde z n+1 = z2n+c. Takto Na rozdíl od Mandelbrotovi množiny existuje nespočet Juliových množin.Tuto rovnici počítáme dokud vzdálenost bodu od středu soustavy je menší jak 2. Tudíž bod patří do množiny.
Obr č. 13: Příklad Juliovy množiny
Zdroj: vlastní
2) Kdo je považován za objevitele fraktálů?
3) Kdy byl poprvé zkoumán fraktál?
5) Který program jsme využili pro modelování fraktálů?
12) Počítačová grafika a fraktály
14) Druhy pro modelování fraktálů
15) Nepravidelné fraktály
3 MODELOVÁNÍ FRAKTÁLNÍCH OBJEKTŮ V PROGRAMU BLENDER
Přistoupíme tedy k nejhlavnější části práce a to k samotnému modelování. Ukážeme si několik postupů při tvorbě modelace a také i další objekty a popřípadě i ukázku animace. Na začátek si zkusíme něco jednoduchého . K daným příkladům je též i videonahrávka, pro lepší pochopení daných příkazů.
Příklad 3.: Vytvořte 3D strom pomocí obrázku ze souboru.
Řešení:
Videonahrávka – 3D strom
1) Nejdříve si vybereme a stáhneme z internetových stran obrázek - jakéhokoliv stromu. Je potřeba, aby byl soubor uložen s koncovkou .JPEG.
2) Nyní si spustíme program a nastavíme si boční pohled a to v části 3D menu - pomocí View -> Front nebo numerickou klávesnicí 1, který se nachází v 3D menu.
Obr č. 14: Ukázka, kde se nachází
boční pohled.
Zdroj: vlastní
3. Poté zůstaneme 3D menu a v panelu View -> Background image, vložíme náš vybraný obrázek. Po stisknutí tohoto příkazu se nám objeví tabulka, v níž je pouze jeden příkaz a to Use Background imag. Po jeho rozkliknutí zadáme tlačítko Load, nebo-li nahrávání.
Obr č. 15:Background Image – použití Obr č. 16: Background Image – nahrávání
souboru. Zdroj: vlastní
Zdroj: vlastní
4 )Blender nám
zobrazí knihovnu, kde máme uložený náš strom. Avšak nezobrazí nám přímo, kde se
objekt nachází, proto si jej musíme sami vyhledat. Po nalezení námi
požadovaného obrázku potvrdíme příkazem Select Image.
Obr č. 17: Knihovna v Blenderu
Zdroj: vlastní
5) Obrázek je vložen do Blenderu a s ním se nám ukázala tabulka pro rozměry. Tu však budeme potřebovat později, a proto ji zrušíme. Poté provedeme příkaz Plane. K němu se vztahuje příkaz v nabídce Object -> Transform Properties.
Obr č. 18: Vložený obrázek typu jpg.
Zdroj: vlastní
Obr č. 19: Příkaz Plane
Zdroj: vlastní
6) V části Par: nastavíme v RotX: 90.000. V části Draw type navolíme Wireframe. Po použití se nám zobrazí čtverec, který roztáhneme po celém objektu.
Obr č. 20: Příkaz Wireframe
Zdroj: vlastní
7) V nabídce Button Panels zvolíme Shading (F5) a pomocí Add New, přidáme nový objekt. V materiálovém menu (Material Buton) zvolíme Textace,A, Shadeless. V links and Pipelline zvolíme ZTransp. a využijeme v 3D menu Edit Mode.
8) V nabídce Object, která se nachází v 3D menu zvolímeUV Unwrap, nebo stisknutím písmene U na klávesnici se nám rozbalí tahle nabídka. Jak jsme se zmiňovali v prvních částech kapitoly, lze v Blenderu rozdělit pracovní plochu pomocí Split area. Tudíž si ji rozdělíme na dvě.V pravé části plochy zvolíme zobrazení UV/Image Editor.
Obr č. 21: Využití Edit mode
Zdroj: vlastní
Obr č. 22: Rozdělení plochy
Zdroj: vlastní
9) Avšak naskytl se nám pohled na prázdnou obrazovku. Proto musíme znovu načíst z knihovny náš obrázek stromu. Ten se zde ale načítá jiným způsobem než jsme byli zvyklý v předešlé části. A to formou Image ->Open, která se nachází v liště pod obrázkem.
Obr č. 23: Rozdělení plochy a využití UV/ Image Editor.
Zdroj: vlastní
10) Vrátíme se opět k Buton panelu - Editing (F9) a vybereme si z nabídky Texture Face > Twoside,Alpha. Pak změníme prostředí z Edit Mode na Object Mode. A v Draw type zvolíme Textured (3D menu).
Obr č. 24: Ukázka vložení dalšího stromu.
Zdroj: vlastní
11) Jelikož se nám obrázek zobrazil vzhůru nohama je potřeba ho poupravit a to Object > Transform Properties. V souřadnici Y otočíme objekt o 180 stupňů a souřadnici Z o 90 stupňů.
Obr č. 25: Upravení obrázku
Zdroj: vlastní
Obr č. 26: 3D strom v Blenderu
Zdroj: vlastní
Úspěšně jsme dokončili strom pomocí vkládání obrázku. Teď si jej zkusíme sami vytvořit.
Příklad 4.: Vytvořte strom bez použití vložení obrázků.
Řešení:
Videonahrávka – Strom v Blenderu
1) Než začneme pracovat je potřeba zrušit kurzor a to stlačením písmena A a Del na klávesnici.
2) Druhým krokem bude přidání kruhu v hlavním menu Add -> Mesh -> Circle. Po dokončení příkazu se nám zobrazí tabulka a v ní nastavíme vertices na 10 a potvrdíme ok. Změníme také pohled na Front. A poté Object Mode na Edit mode.
![]() |
![]() |
|||
![]() |
|||
Obr č. 27: Použití Circle Obr č. 28: Použití Only Edges
Zdroj: vlastní Zdroj: vlastní
3) Stiskneme na klávesnici písmeno A, které nám vše označí a hned za ním písmeno E. Zobrazí se nám příkaz Extrudovat, my vybereme Only Edgest.
Volným pohybem modelujeme. Při každém dokončení zadáme znovu příkaz Regest.
Obr č. 29: Modelování stromu Obr č. 30: Pokračování v modelaci
Zdroj: vlastní Zdroj: vlastní
4) Druhou větev uděláme stejným způsobem. Přiděláme dalších pár větví stejným způsobem a strom je hotov.
Obr č. 31: Dokončený strom v Blenderu
Zdroj: vlastní
5) Je potřeba ještě přepnou z Edit mode do Object mode, aby strom dostal správný vzhled.
Obr č. 32: Strom v Object mode
Zdroj: vlastní
Příklad 5.: Zobrazte hladinu vody
Řešení:
Videonahrávka – Hladina vody
1) Nejprve si vše smažeme z naší pracovní a poté vložíme objekt přes Add -> Mesh -> Plane. V Button panelu - Editing (F9) vybereme v Mesh tools fraktál. Nicméně některým z nás se neobjeví novější menu. Je tedy potřeba přizpůsobit menu pomocí stisknutí tabulátoru.
Obr č. 33: Práce s Mesh tools
Zdroj: vlastní
2) A přepneme z Edit mode na Object mode, pro představu jak obrázek vypadá. Pak přepínáme zpět na Sculpt mode. Pomocí Sculp properties změníme údaje Sub a Strenght na 50.
3) Postupně zužujeme hladinu, až se nám vytvoří jezero.
Obr č. 34: Zužování tzv. hladiny
Zdroj: vlastní
Obrázek jsme tedy také úspěšně dokončili.
Příklad 6.: Vygenerujte travnatý povrch v Blenderu
Řešení:
Videonahrávka – Travnatý povrch
1) Zvolíme pohled kamerou a přidáme objekt Plane pomocí Add -> Mesh.
Obr č. 35: Pohled kamerou
Zdroj: vlastní
2) Klávesnicí S rozšíříme pole a stlačíme F7 – Object a Particle buttons. Zde naskočí Particle System, zadáme Add – hair a v části Global Effect nastavíme brown na 0. 28 a ve Visualization - > Shaders -> Ref na 1 a vedle něj navolíme tlačítko Oren nayer a Blinn.
Obr č. 36: Rozšíření pole
Zdroj: vlastní
3) Přejdeme do Texture Buttons -> Blend a vrátíme se k Materials Buton do Map Input -> Stand a poté přepneme do Map -> Priview hair Stands. V map to změníme R na 600 a opět přejdeme na links.V Object (F5) –children -> faces. A za pomocí klávesnice F12 uvidíme výsledný obrázek.
Obr č. 37: Generování trávy
Zdroj: vlastní
Obr č. 38: Výsledný obrázek
Zdroj: vlastní
Příklad 7.: Vytvořte pomocí obrázku krajiny kostku, která mimo jiné bude mít obal
této krajiny a zároveň její místo bude náležet v krajině.
Řešení:
Videonahrávka – Krajina
1) Nejprve si vybereme obrázek krajiny, my jsme zvolili obrázek vytvořený v Terragenu. Poté přejdeme na do Buton Panel -> Texture buttons (F6) a v Texture type zadáme Image.
2) V oddílu Image zadáme Load neboli nahrávání a vybereme si z knihovny náš daný objekt. Potvrdíme tlačítkem Select Image.
Obr č. 39: Nahrávání obrázku
Zdroj: vlastní
Obr č. 40: Knihovna v Blenderu
Zdroj: vlastní
3) Přejdeme do World Buttons zadáme Preview -> Real a u Map to –>Hori. Obrázek se nám načte do levého dolního kraje. A na konec v Texture and Input zadáme Ang Map. Stačí stisknout klávesnici F12 o obrázek je hotov.
Obr č. 41: Využití pozadí vložené do objektu
Zdroj: vlastní
Ukázali jsme si několik postupů na vytváření fraktálních objektů v programu Blender. Nyní si ukážeme další ukázky.
Obr č. 42: Struktura helia
Zdroj: vlastní
Obr č. 43: Struktura kyslíku varianta 1
Zdroj: vlastní
Obr č. 44: Struktura kyslíku varianta 2
Zdroj: vlastní
Obr č. 45: Struktura Uhlíku
Zdroj: vlastní
Obr č. 46: Struktura Lithia
Zdroj: vlastní
Práce v Blenderu je pro každého různorodá. Záleží na pokročilosti uživatele ovládání programu. Při výborné znalosti programu, uživatel dosáhne vynikajících výsledků.
Obr č. 47: Další ukázka fraktálu
Zdroj: vlastní
Obr č. 48: Využití animace v Blenderu
Zdroj: vlastní
Kontrolní otázky:
1) Jak nastavíme boční pohled?
2) Nahrávání obrázku do Blenderu (způsob)
3) Má Blender svou vlastní knihovnu?
4) Co je to SELECT IMAGE?
5) Jakým příkazem změníme velikost obrázku?
6) Co se stane po stisknutí písmene A na klávesnici?
7) Kde nalezneme příkaz Extrude?
8) Co se stane stlačením F12?
9) Změna barvy v Blenderu.
10) Kde najdeme Object Mode?
11) Jak lze rozdělit pracovní plochu?
12) Kopírování v Blenderu?
13) Rotace v Blenderu
14) Pohled kamerou
15) Změna textury
4 KOREKCE NA ZÁKLADĚ DALŠÍCH DOPORUČENÝCH ÚPRAV
Tato část kapitoly spočívá v samotném zhodnocení programu Blender, vůči ostatním 3D animačním programům. Ukážeme si zde rozdíl mezi modelováním v Blenderu vůči ostatním 3D programům a oproti programům zabývající se fraktály.
Cinema 4D
Historicky je asi o pět let tento animační program starší než Blender. Avšak na rozdíl od něj má nevýhodu v tom, že se zařazuje mezi komerční programy. Byl vyvinut německou společností Maxon Computer jako multiplatformní program. Mimo jiné je zde také česká lokalizace. Jeho práce spočívá v tvoření pomocí polygonů. Využívá také nástroje pro renderingu, textur, animace a také pro tvorbu animovaných filmů formou modulů, které si k tomuto programu může uživatel zakoupit - např. BodyPaint 3D.
BodyPaint 3D patří mezi moduly pro tvorbu textur a je zatím nejznámější doplňující moduly pro program. BodyPaint nám slouží pro práci textur.
Mimo jiné tak i tady jsou využity pulginy. Existuje celá škála těchto skript jak komerčních tak i nekomerčních. Zmíníme se například o XFrog či Fizz.
Maya
Zařazuje se mezi méně známé programy u nás. Avšak na výkonnosti si stojí podobně jako ostatní. Na animační scénu přichází na začátku roku 1998. Rozděluje se do dvou dostupných programů. Jeden je však komerční a druhý neomezený. Nic méně, ne tak neomezený jak bychom si představovali. Firma si zde program také pojistila a to pomocí vodoznaků. Modeluje stejně jako Cinema 4D na principu polygonů a nurbs.
3D Studio Max
Tento program je určen pouze pro Microsoft Windows XP nebo Vista. Nevyužívá se jako ostatní pro tvorbu obrázků, ale spíše se specializuje na tvorbu reklam či filmů nebo počítačových her. Využívá vestavěné moduly, ale také Cad formáty.
4.2 Programy specializující se na tvorbu fraktálů
Mathematica
Využívá se především ve vědeckých oblastech. Za jeho vytvořením stojí tým matematiků a programátorů, jeho cílem bylo vytvořit program pro generování fraktálů. Je multiplatformní avšak zařazuje se mezi komerční programy. Nutno zde podoknout, že je potřeba ovládat dobře matematiku.
Terragen
Tento program se specializuje na fraktály v oblasti krajiny. Patří mezi volně dostupné programy. Jeho ovládání patří mezi nejednodušší. Avšak je natolik dokonalý, že jeho obrázky působí realisticky. Proto získal uplatnění také v oblasti reklamy, filmů, her.
Obr č. 49: Práce v Terragenu
Zdroj: vlastní
Fractal Explorer
Tento program generuje fraktální obrázky pomocí Mandelbrotovi, Juliovi množiny. Může také vygenerovat základní čtyři frakály, na nich se obecně dělí. Program využívá mnoho speciálních efektů. Patří mezi volně dostupné programy, proto se taky řadí mezi nejpoužívanější.
Obr č. 50: Fractal Explorer Obr č. 51: Fractal Explorer
Zdroj: vlastní Zdroj: vlastní
Atomsmith
Je je specializován ke studiu 3D strukutry a molekul. Je licenčně omezen po dobu jednoho měsíce je poskytnut zdarma. Určen pro Windows. Podobně jak Blender vytváří animace, má svou knihovnu.
Obr. č. 52: Struktura Helia v Atomsmithu Obr č. 53: Struktura Helia v Blenderu
Zdroj: vlastní Zdroj: vlastní
Po získání informací o ostatních programech jak z hlediska 3D grafiky tak z hlediska využití fraktálů je Blender jeden z nejlepších. V rámci možností uživatelů obzvláště díky svému svobodnému softwaru. Například pro tvoření fraktálů je též ideální program Mathematica, avšak je omezen svou 16 denní lhůtou. Později si musíte zakoupit jeho licenci Je však potřeba se zmínit o programu Cinema 4D, jenž disponuje se stejnými nástroji a také českou lokalizací jako Blender. Svou rovnocenností stojí také v podobě platforem. Program Terragen se spíše soustřeďuje na generování krajin či zasahuje do oblasti reklamy a filmu. V této oblasti se také rozvíjí 3D Studio Max. Program Maya je obdobný jako Cinema 4D , že na rozdíl od tohoto programu funguje ve dvou verzích-komerčních a nekomerčních. Blender jako jediný se každé tři měsíce obnovuje a je otevřen pro uživatele ve formě dodání skript. Proto Blender se dostává mezi nejlepší animační programy.
Kontrolní otázky:
1) Matematika
2) Terragen
3) Fractal Explorer
4) Atomsmith
5) Cinema 4D
6) Maya
7) 3D Studio Max
8) Je Cinema 4D spustitelná na všech platformách?
9) Jaké uplatnění má program Terragen?
10) V jaké cenové hodnotě pro uživatele se pohybuje program Fractal Explorer?
11) Na jakých platformách je spustitelný Atomsmiht?
12) Jaké jsou výhody Blenderu?
13) Je program Matemathica omezen?
14) Který program je Blenderu nejbližší?
15) Jak často se vyvíjí program Blender?
5 ZÁVĚR A ZHODNOCENÍ NAVRŽENÉHO ŘEŠENÍ
Bakalářská práce splnila v plném rozsahu své zadání, jenž je zaměřeno na modelování fraktálních obrázků a seznámení s programem Blender.
Práce provází uživatele od úplných začátku při jeho použití. Jedná se především o to, co takový program dokáže. Na začátek se zmiňujeme o jeho možnostech z hlediska 3D grafiky. Poté o historii programu a jednotlivých verzích. V další části nás provází instalace ve Windows, ale také v dalších variantách na ostatních platformách. Popisujeme jednotlivé nástroje, k čemu jsou určeny a s jakými dalšími doplňky disponují. Přecházíme také k samotnému programu, co obnáší jeho spuštění a čeho se musíme vyvarovat. Je zde dopodrobna popsána pracovní plocha Blenderu i s rozdělením a vysvětlením jednotlivých tlačítek. Samozřejmě nechybí také objasnění jednotlivých zkratek a přiložený obrázek ve tvaru klávesnice a myši, který popisuje jednotlivé zkratky. S animačním programem Blender, také souvisí jazyk Python, který je zde využit v podobě Python skriptů. Uživatel tohoto programu si může sám naprogramovat určité moduly pro pozdější vkládání do Blenderu. Je zde také názorná ukázka tohoto skriptu.
Když se řekne Blender hovoříme o multiplatforním programu, který patří mezi světové špičky 3D grafiky. Každý si tento program může vyzkoušet zcela zdarma, neboť se zařazuje mezi Open Source. Ne však vždy byl volným softwarem. Tento program prošel jako historickým vývojem v podobě nových verzí tak i majiteli. Jeho vlastníkem byla společnost NeoGeo a později animační firma NaN. Po několika měsících je vždy obnoven s dalším vylepšením nebo s opravou programu. Nespornou výhodou je, že nezabírá příliš místa. Blender jako jediný z animačních programů využívá všechny platformy a proto se zařazuje mezi nejoblíbenější grafické animační programy.
Druhá část kapitoly nás provází s fraktály. Své znalosti uplatňujeme při jejich generování pomocí programu AFractal, jenž byl speciálně vyvinut pouze pro fraktály. Seznamujeme se z Mandelbrotovou množinou či Juliovou a s pojmy souvisícím s fraktály.
Nejdůležitější část této práce je tvoření obrázků v programu Blender. Ke zvoleným obrázkům jsou zvoleny jednoduché postupy, tak aby začátečník zvládnul obrázek vytvořit. Pro snadnější práci v Blenderu byli vytvořeny také nahrávky, které popisují jednotlivé příklady. Pro tvoření těchto obrázků byla zvolena nejnovější verze Blenderu. Jsou zde odfoceny pomocí PrtSc pracovní plochy, krok po kroku a zvýrazněny jednotlivé úkoly. Na konci jsou také zvoleny další obrázky, které lze provádět v Blenderu.
V předposlední část spočívá v hodnocení programu vůdči ostatním. Blender versus Maya či Cinema 4D atd. A který program je nejvhodnější pro tvoření fraktálů.
Blender je ideální program pro generování fraktálů a samotnou modelaci. Obsahuje mnoho nástrojů a modulů s ním spjatých, jenž některým programům chybí. Vytváří tak jedinečný obraz, který vypadá jako reálný. V rámci animace je využit do mnoha filmů a reklam. Blender je bezkonkurenčně dokonalý animační program pro 3D grafiku.
Navržené řešení bylo splněno v plném rozsahu a to vytvořit odbornou příručku pro studijní účely a také pro postupy jednotlivých modelací a ukázky jiných vytvořených obrázků. Program Blender zde byl zcela dopodrobna vysvětlen včetně skriptů.
Přínos bakalářské práce vidíme ve vytvoření uživatelské příručky pro modelování fraktálních objektů v Blenderu.
Josefa BARTOŇOVÁ Modelování fraktálních objektů v programu Blendr
Bakalářská práce. Evropský polytechnický institut, s.r.o. Kunovice
Vedoucí práce: Prof. Ing. Pavel OŠMERA, CSc.
Klíčová slova: Blender, Windows, Linux, 3D grafika, programovací jazyk,
3D menu panel, hlavní panel, pracovní plocha, rozdělení plochy, Maya, fraktály
Cílem bakalářské bylo vytvoření odborného materiálu, který bude sloužit,
jako pomůcka ve výuce předmětů zabývajících se počítačovou grafikou.
Byla provedena analýza současného stavu a zjištění, jaké jsou možnosti dne používaných programů pro tvorbu 3D fraktálů. Práce byla především zaměřena s na 3D fraktály a modelování fraktálních objektů v programu Blender a dalších obdobných programech. Později zhodnocena, v čem spočívá odlišnost těchto programů a jaké jsou jejich výhody či nevýhody. Celá práce je zpracována takovým způsobem, aby byla dobře srozumitelná i pro uživatele, kteří s tvorbou 3D fraktálů začínají. Každá kapitola obsahuje min. 15 kontrolních otázek.
Josefa BARTOŇOVÁ Modelling fractal objects in Blender
Bachelor Thesis. European Polytechnic Institute Ltd., Kunovice
Keywords:
Blender, Windows, Linux, 3D graphics, programming language,
3D menu bar, taskbar, desktop,
desktop sharing, Maya,
fractals
The aim was to create a bachelor theses from professional materials that will serve
to assist in teaching courses dealing with computer graphics.
An analysis was made of the current situation and the possibilities of programs used for 3D fractal were determined The work was mainly focused on the 3D modeling of fractals and fractal objects in Blender, and other similar programs. Later was evaluated the differences between those programs and what their advantages and disadvantages were. The whole work is processed in such a way that would be well understood even for users who are just beginning to work with 3D fractal . Each chapter contains a minimum of 15 control issues.
[1] POKORNÝ, P. Blender3D.cz [online]. 2005 - 2009 [cit. 2009-31-12].
Dostupné z WWW: <http://www.blender3d.cz/drupal/?q=python02>.
[2] POKORNÝ, P. Blender3D.cz [online]. 2005 - 2009 [cit. 2009-31-12].
Dostupné z WWW: <http://www.blender3d.cz/drupal/?q=python02>.
[3] Roosendaal,T., Wartmann, C. The official Blender 2.0 guide. Prima Tech, 001. 247
s. ISBN 0761535136.
[4] Pokorný, P. BLENDER naučte se 3D grafiku. Praha,BEN – technická literatura, 2008. 248 s. ISBN 80-7300-244-2.
[5] Mullen, T., Roosendaal, T. Introducing Character Animation with Blender.
Paperback, 2007. 672s. ISBN 978-0-470-10260-2.
[6] Roosendaal, T., Hess, R. The essential Blender: guide to 3D creation with the open
source suite Blender. No Starch Press, 2007. 371 s. ISBN 1593271662.
[7] Zelinka, I., Včelař, F., Čandík, M.
Fraktální geometrie: principy a aplikace. Praha, BEN – technická literatura, 2006. 159s. ISBN 8073001918.
[8] Blender [online]. 2008 , 3.11.2009 Dostupný z WWW:< http://www.blender.org/>
[9] POKORNÝ, P. Blender3D.cz [online]. 2005 - 2009 .
Dostupné z WWW: <http://www.blender3d.cz/drupal/?q=python02>.
[10] HANÍDEK, J. Blender 3D.cz [online]. 2005 - 2009 .
Dostupné z http://www.blender3d.cz/drupal/index.php
[11] Wikipedie : otevřená encyklopedie [online]. St. Petersburg (Florida) : Blender, 2001- , strana naposledy edit. 2008-30-11. Česká verze.
Dostupný z WWW: < http://cs.wikipedia.org/wiki/Blender>.
[12] Wartmann, C. The Blender Book. No Starch Press. 2001. 206 s. ISBN: 1-886411-44-1. Briggs, J. Fractals: the patterns of chaos : a new aesthetic of art, science, and nature. Simon & Schuster.1992. 192 s. ISBN0671742175
[13] Čandík, M., Včelař, F., Zelinka I. Fraktální geometrie – principy a aplikace, Praha, BEN –, technická literatura 2006. 160 s. ISBN 80-7300-191-8.
[14] Fraktály v počítačové grafice [online]. Praha: Root.cz, 2003 [cit. 2010-01-03].
Dostupný z WWW:<http://www.root.cz/clanky/fraktaly-v-pocitacove-grafice-i/>. s. 1
LMB levé tlačítko myši
RMB pravé tlačítko myši
MMB prostřední tlačítko myši
GNU GPL veřejná licence
PrtSc tzv. vyfocení obrazovky
IPO editor
Obr č. 1: Instalace Blenderu
Obr č. 2: Správně nainstalovaný program i s Python skripty
Obr č. 3: Program znázorňující chybu v Python skriptech
Obr č. 4: Pracovní prostředí Blenderu
Obr č. 5: Uživatelské prostředí typu Default
Obr č. 6: Uživatelské prostředí typu Rounded.
Obr č. 7: Rozdělení pracovní plochy pomocí Split area.
Obr č. 8: Rozdělení zkratek na myši
Obr č. 9: Rozdělení zkratek na uživatelské a numerické klávesnici
Obr č. 10: Vložení skriptů pomocí koncovky .blend
Obr č. 11: Mandelbrotova množina při zvetšení množiny M.
Obr č. 12: Mandelbrotova množina
Obr č. 13: Příklad Juliovy množiny
Obr č. 14: Ukázka, kde se nachází boční pohled
Obr č. 15: Background Image – použití
Obr č. 16: Background Image – nahrávání
Obr č. 17: Knihovna v Blenderu
Obr č. 18: Vložený obrázek typu jpg
Obr č. 20: Příkaz Wireframe
Obr č. 19: Příkaz Plane
Obr č. 21: Využití Edit mode
Obr č. 22: Rozdělení plochy
Obr č. 23: Rozdělení plochy a využití UV/ Image Editor.
Obr č. 24: Ukázka vložení dalšího stromu
Obr č. 25: Upravení obrázku
Obr č. 26: 3D strom v Blenderu
Obr č. 27: Použití Circle
Obr č. 28: Použití Only Edges
Obr č. 29: Modelování stromu
Obr č. 30: Pokračování v modelaci
Obr č. 31: Dokončený strom v Blenderu
Obr č. 32: Strom v Object mode
Obr č. 33: Práce s Mesh tools
Obr č. 34: Zužování tzv. hladiny
Obr č. 35: Pohled kamerou
Obr č. 36: Rozšíření pole
Obr č. 37: Generování trávy
Obr č. 38: Výsledný obrázek
Obr č. 39: Nahrávání obrázku
Obr č. 40: Knihovna v Blenderu
Obr č. 41: Využití pozadí vložené do objektu
Obr č. 42: Struktura helia
Obr č. 43: Struktura kyslíku varianta
Obr č. 44: Struktura kyslíku varianta 2
Obr č. 45: Struktura Uhlíku
Obr č. 46: Lithia
Obr č. 47: Další ukázka fraktálu
Obr č. 48: Využití animace v Blenderu
Obr č. 49: Práce v Terragenu
Obr č. 50: Fractal Explorer
Obr č. 51: Fractal Explorer
Obr č. 52: Struktura Helia v Atomsmithu
Obr č. 53: Struktura Helia v Blenderu
Příloha č. 1: Klávesnicové zkratky
Příloha č. 2: Videonahrávka - 3D Strom
Příloha č. 3: Videonahrávka - Travnatý povrch
Příloha č. 4: Videonahrávka - Strom v Blenderu
Příloha č. 5: Videonahrávka - Instalace Python skriptů
Příloha č. 6: Videonahrávka - Dokončení instalace
Příloha č. 7: Videonahrávka - Změna uživatelského nastavení
Příloha č. 8: Videonahrávka - Krajina
Příloha č. 9: Videonahrávka - Instalace Blenderu
[1] Yafray patří mezi externí render a je Open Source
[2] POKORNÝ, P. Blender3D.cz [online]. 2005 - 2009 [cit. 2009-31-12]. Dostupné z WWW: <http://www.blender3d.cz/drupal/?q=python02>.
[3] Fraktály v počítačové grafice [online]. Praha: Root.cz, 2003 [cit. 2010-01-03]. Dostupný z WWW: <http://www.root.cz/clanky/fraktaly-v-pocitacove-grafice-i/>. s. 5.