VLČEK, O. Blender add-on pro simulaci vodní eroze [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.

Posudky

Posudek vedoucího

Chlubna, Tomáš

Výsledek práce je na velmi vysoké úrovni! Autor využil pokročilé simulační a optimalizační metody. Komunikace během řešení byla spíše omezená, nicméně tento nedostatek byl vyrovnán vysoce kvalitními výsledky a neobvykle rychlým postupem při implementaci. 

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Autor nastudoval problematiku simulací vodní a tepelné eroze a následně využil Blender Python API pro vývoj addonu pro aplikaci eroze na 3D modely. Použité algoritmy jsou akcelerovány na GPU. Práce je náročná a zahrnuje pokročilé algoritmy. Výsledný addon je plně funkční a oproti existujícím řešení nabízí možnost simulace eroze za použití textur, které mohou být následně použity pro další zpracování modelů. Simulace je také, díky využití GPU, dostatečně rychlá. Zadání bylo splněno bez výhrad. 
Práce s literaturou Autor samostatně našel a vhodně využil relevantní odborné zdroje.
Aktivita během řešení, konzultace, komunikace Konzultace probíhaly v menší míře. Autor však vždy prezentoval značný pokrok v řešení práce. Autor na práci pracoval spíše samostatně, avšak s nadšením a v nadprůměrném pracovním tempu.
Aktivita při dokončování Výstupy práce byly prezentovány v dostatečném předstihu a dostatečně konzultovány. Z hlediska implementace byl autor výrazně napřed již na začátku roku. S řešením začal už o prázdninách. Již během obhajob semestrálního projektu prezentoval práci, kterou by již bylo možno odevzdat. Odhadem již po prvním semestru byla hotová více než polovina implementace!
Publikační činnost, ocenění Výsledný addon je plně funkční a volně dostupný na internetu pro komunitu.
Navrhovaná známka
A
Body
98

Posudek oponenta

Milet, Tomáš

Student vytvořil funkční zásuvný modul do programu Blender. K jeho realizaci použil netriviální implementaci pomocí compute shaderů. Výsledné hodnocení hlavně snižuje technická dokumentace, která plní jen minimum své funkce. Je škoda, že je technická dokumentace v tomto stavu. Tady je zveřejněná práce s vyznačenými chybami, které jsem našel, ale půlku už jsem v průběhu opravování začal ignorovat: https://git.fit.vutbr.cz/imilet/Posudky/raw/branch/master/2023%20-%20Vl%C4%8Dek%20Ond%C5%99ej%20-%20Blender%20add-on%20pro%20simulaci%20vodn%C3%AD%20eroze.pdf   Kdyby student odevzdal pouze realizaci a hodnotila se jen ona, hodnotil bych jeho práci pravděpodobně známkou na hranici B a A. Technická dokumentace však hodnocení značně snižuje. Proto musím hodnotit známkou na hranici E / D (60 bodů).

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Zadání je průměrně obtížné. Obsahuje jednu úlohu, kterou je potřeba vyřešit v jednom nástroji. Není potřeba kombinace složitých konceptů nebo postupů. Student však využívá compute shadery, které se na bakalářském programu nevyučují. Komentář pro komisi: Omlouvám se, ale budu muset mírně porušit strukturu posudku, protože mi nestačí maximální délka 3000 znaků v části "prezentační úroveň". Proto jsem tuto část rozdělil a přesunul některé části jinam, například do sekce "Literatura", i když by správně patřily do "Prezentační úrovně".
Rozsah splnění požadavků zadání Body zadání byly splněny a realizovaný modul je funkční. Produkuje využitelné výsledky.
Rozsah technické zprávy Práce je delší - 68 stran PDF. Obsahuje však sekce, které jsou absolutně nepochopitelné nebo špatně pojaty. Jen stěží je lze započítávat do rozsahu.
Prezentační úroveň technické zprávy 40 Prezentační úroveň technické dokumentace je největší kámen úrazu celé práce. Není to dáno nejvyšší úrovní struktury práce, která je vesměs v pořádku, ale pojetím kapitol a sekcí. Hlavní problém je s kapitolami: 2 - teorie a 4 - implementace. Stránky 6-16 (většina teorie) a stránky ~36-54 (velká část implementace) jsou těžce pochopitelné a nezanedbatelná část je absolutně nepochopitelná. Student má problémy vyjádřit se jasně a exaktně a tento problém se v obou kapitolách manifestuje jiným způsobem. Problémy s kapitolou dvě - teorií - jsou z důvodu limitace na 3000 znaků napsány až v sekci  "Práce s literaturou". Uvedu příklady, proč je technická dokumentace nepochopitelná. Kapitola implementace: Po detektivní práci jsem zjistil, že student v kapitole implementace v podstatě popisuje své zdrojové kódy řádek po řádku - bez vztahů k celku a s chybami. Uvádět velké kusy kódu do technické dokumentace je špatné, ale v tomto případě by to bylo lepší, neboť by nevznikaly další chyby při překladu do přirozeného jazyka. Student volně mícha pojmy a termíny a zanáší do textu velký zmatek. Volně přechází mezi pojmy: "buňka, bod, pixel" , "mapa, textura" , "část, fáze" a dalšími. Změna pojmu je provedena třeba v rámci stejného odstavce nebo v sousedních odstavcích a čtenář pak neví, jestli se myslí stejná věc nebo jiná. Odpověď je: Jak kdy. Tím, že student popisuje svůj kód řádek po řádku, transformoval nevhodné programátorské návyky i do technické dokumentace. Například v kódu nevhodně pojmenoval proměnné a místo toho, aby to opravil, nevhodně pojmenoval i termíny v technické dokumentaci. Příklad: V textu student uvádí pojmy: "současná mapa, zdrojová mapa, výsledná textura, existující textura." Můžete hádat, který z těchto pojmů značí výsledek eroze. Připomínám, že pojmy mapa a textura student volně zaměňuje. Výsledkem eroze je "současná mapa" . A "výsledná textura" má tento význam, cituji: "Data ve výsledné textuře nemají žádný význam..." Student v implementovaných kódech nevhodně kombinuje různé úrovně abstrakce a tím, že je popisuje řádek po řádku, transformoval z části tento problém i do technické dokumentace. Obrázky a další objekty v textu často nevhodně naruší výčty nebo seznamy. Například kroky algoritmu, které začínají na stránce 45, na stránce 46 nepokračují. Tam je obrázek. Pokračují až na stránce 47. Pseudo algoritmy jsou chaotické, nejsou uvedeny vstupy a obsahují velké, redundatní části. Student nekonzistentně zvýrazňuje části textu kurzivou nebo tučným písmem.
Formální úprava technické zprávy 50 Jazyková stránka: Jazyková stránka práce není nejlepší. Objevují se nesmyslné věty, chybějící slovesa, špatný slovosled. Nadužívání některých slov. Například slovo "jež" je v textu uvedeno 146 krát. Další, tentokrát bezobsažné slovo "tedy" , je použito bez mála stokrát. Student nadužívá přibližně deset slov a text proto působí velmi nepřirozeně. Nevhodné jsou také věty, které začínají slovem "Neboť" . Další problémy jsou s časy. Text využívá minulý čas, budoucí čas nebo čas průběhový, kdy to není vhodné. Typografická stránka: Po stránce typografie obsahuje práce mnoho chyb. Rovnice jsou špatně sázeny, obsahují špatné matematické symboly nebo jiné chyby. Většina problému typografie znesnadňuje pochopení textu.
Práce s literaturou 50 Práce využívá 12 zdrojů informací. Zdroje jsou v podobě vědeckých článků, odkazu na příklad na githubu a odkazu na web. Reference jsou uvedeny jen číslem, nejsou zastavěny do vět a chybí název zdroje nebo jméno autora. Zdroje informací jsou převážně využívány v kapitole dvě - teorie, ale jejich využití je velmi nevhodné. Tady pokračuje "prezentační úroveň", která se týká literatury. Důvody, proč je popis teorie nepochopitelný: Stránky 6-16 jsou opřeny o dva až čtyři vědecké články. Student však teorii pojal naprosto nevhodně. Vykopíroval mnoho rovnic z daných článků a uvedl je pod sebe bez vysvětlení nebo s "vysvětlením", které věc ještě více zatemňuje. Strukturálně tato kapitola připomíná strukturu těchto vědeckých článků, ze kterých bylo odstraněno vysvětlení a přidal se text, který zvyšuje míru chaosu. Student má problém držet se dříve definovaných termínů, proměnných nebo pojmů. Některé veličiny přeznačoval dokonce několikrát. Jako příklad studentem vytvářeného chaosu ve značení uvedu příklad za všechny, cituji: " Dále jsou sousední výšky sloupců označeny pomocí h' a w' ". Studentovi nestačí jedno písmenko na označení jedné veličiny a bezdůvodně zavádí dvě. A to značení h' už jednou přeznačil na hi a pak znovu na něco jiného. V textu se objevují nové termíny, které jsou bez vysvětlení a čtenář musí hádat, co tím autor myslel. Rychlostní pole, kapacita vody, všemožné konstanty a mnoho, mnoho dalších. V rovnicích se objevuje mnoho chyb. Vektorové veličiny nejsou odlišeny, proměnné jsou na jednom místě funkce, na jiném vektor nebo konstanta. Rovnice jsou špatně vysázeny, třeba rovnice 2.36 obsahuje dvě rovnice, ale to není jasné, protože jsou spojeny do jedné a vypadá to, že se mezi sebou násobí. Jsou využity nesprávné matematické symboly, pletou se symboly absolutní hodnoty a velikost vektorů, velká a malá písmenka, dolní sufixy a další. Objevují se strukturální problémy. Termíny nejsou popsány nebo jsou popsány až o hodně později popisem vlastností, ze kterých čtenář hádá, co se myslí. Definuje se dělení výpočtu v podsekci, ale toto dělení není v sekci plně popsáno a druhá část je až v jiné sekci, příklad: " 2.4.1 - dělení dA, dB " dA složka je v sekci 2.4.1 použita, ale dB složka je v úplně jiné sekci o dvě stránky dál. Když se uvede dělení v nějaké sekci textu, jsou obvykle jednotlivé komponenty popsány v podsekcích. Tady je to popsáno mimo a na špatné úrovni. Text zmiňuje nelogické a nesmyslné koncepty.
Realizační výstup 90 Realizace je nejsilnější část práce. Je funkční a využívá compute shadery, které se na bakalářském programu neučí. Kdyby tak vypadal zbytek práce, rozhodně bych celou práci hodnotil jinak.
Využitelnost výsledků
Navrhovaná známka
D
Body
60

Otázky

eVSKP id 139866