Na této stránce najdete nabízená rámcová témata semestrálních projektů, bakalářských a diplomových (DP) prací z katedry počítačové grafiky a interakce (alias 13139 či DCGI) uspořádané dle zadavatelů. Pokud Vás zadání zaujme, kontaktujte prosím přímo uvedené osoby. Pokud se spolu domluvíte, následuje podrobné zadání přímo do KOSu. Na seznamu jsou opravdu rámcová témata, která teprve se zadavatelem upřesníte. Velmi často lze proto zadání BP rozšířit na DP a naopak. Nezoufejte, pokud je nějaké téma již zadáno či rezervováno. Kontaktujte školitele, který se zabývá tématem, jež Vás zajímá - často lze zadání upravit, nebo vymyslet další přímo Vám na míru.
Zadání se pravidelně každou hodinu aktualizují podle stavu v KOSu.
Stránka obsahuje pouze volná a rezervovaná témata - zadané práce najdete v KOSu.
Petr Felkel, zástupce vedoucího DCGI pro pedagogiku
[BP]
Sada nástrojů pro řízení modelů světelné instalace LINKY - (Volné)
Na základě poznatků získaných v rámci projektu v předmětu B6B36PRO navrhněte
univerzální softwarový balíček, který poslouží jako základ modelů světelné fasády
Linky FEL ČVUT. Modely mohou být různých velikostí i hardwarového vybavení.
Balíček musí být použitelný na mikrokontrolérech STM32 a platformě Arduino.
V konceptu počítejte s internetovým připojením pro získání informací o aktuálním
stavu světelné instalace. Ke komunikaci s instalací využijte veřejně dostupného
rozhraní LinkyAPI na serveru https://linky.fel.cvut.cz.
Navrhněte více variant implementace HTTPS klienta pro vybranou platformu. Zvolte
nejvhodnější variantu z hlediska náročnosti na operační paměť a implementujte ji.
Definujte rozhraní, které bude balíček poskytovat a zdokumentujte ho.
Vlastnosti návrhu ověřte implementací zvolené varianty a zhodnoťte případné
nedostatky a případná rizika použití balíčku. Navrhněte a zdůvodněte sadu
testovacích scénářů a následně po jejich realizaci zhodnoťte dosažené výsledky.
[BP]
Sada zvukových nástrojů - (Volné)
Prozkoumejte možnosti programování platformy Raspberry Pi v oblasti zpracování a interpretace zvukového signálu a na základě výsledků z předchozích semestrálních projektů navrhněte sadu generátorů a filtrů přijímajících povely a parametry, pro generování a modifikaci zvukových signálů na této platformě. Dále navrhněte a implementujte aplikaci pro OS Android, která reprezentuje funkční uživatelské rozhraní ovládající navržený řetězec generátorů na Raspberry Pi. Vytvořte alespoň 5 filtrů, kde každý filtr nebo generátor bude reprezentovat jeden efekt. Postup návrhu a implementace v pravidelných intervalech konzultujte s vedoucím práce a v textu práce zdokumentujte, případně zdůvodněte, postup návrhu a všechny kroky jeho realizace. Výstup práce otestujte na vhodném výběru uživatelů.
[BP]
Metody pro odhadování zobrazovacího času 3D scén - není aktuální - (Volné)
Prostudujte metody pro odhadování zobrazovacího času 3D scén a související výpočetní modely grafických karet (GPU). Vybranou metodu implementujte a otestujte její chování na různých typech scén a různém hardwaru. S využitím OpenGL implementujte sadu metod pro kalibraci zvoleného modelu GPU. Sumarizujte měření pro nejméně čtyři vybrané hardwarové konfigurace.
[DP]
Parametrické modely vegetace - není aktuální - (Volné)
Prostudujte existující metody pro vytváření realistických modelů vegetace. Vytvořte nástroj umožňující generování 3D modelu konkrétního vegetačního prvku (stromu, keře, traviny, byliny) na základě charakterických parametrů jako je rod, druh, stáří, výčetní tlouštka, výška, šířka koruny. Výsledný model bude zohledňovat rovněž roční období.
[DP]
Diferenciální instatní radiosita pro rozšířenou realitu - (Volné)
Prostudujte a implementujte metodu diferenciální instantní radiosity pro aplikace v rozšířené realitě. Implementaci důkladně otestujte ve virtuálním prostředí a po dohodě s vedoucím práce proveďte jednoduchý test v rozšířené realitě pro vložení virtuálního objektu do reálného prostředí.
[DP]
Optimalizace hierarchie obálek pro dynamické scény - (Volné)
Prostudujte existující metody optimalizace hierarchií obálek pro dynamické scény. Zaměřte se na metody využívající explicitní znalost o změnách ve scéně způsobené animací. Vhodnou metodu optimalizace hierarchie obálek implementujte s využitím paralelního zpracování v rámci více vláken na CPU. Výslednou implementaci důkladně otestujte a analyzujte na několika scénách a animacích.
[DP]
Simulace jízdy vozidla - (Volné)
Nastudujte stávající implementaci simulátoru jízdy vozidla, která využívá knihovnu ODE (Open Dynamics Engine). Navrhněte a implementujte metodiku pro kalibraci fyzikálního modelu na základě dat získaných měřením dynamických vlastností reálného vozidla. Proveďte srovnání jízdních vlastností simulovaného a reálného vozidla.
[DP]
Simulace kamer a sensorů pro rozšířenou realitu - (Volné)
Prostudujte existující modely pro popis reálných kamer jak z hlediska popisu geometrie jejich optiky tak fotometrických vlastností snímače. Rozšiřte stávající software pro realistické zobrazování virtuálních scén o generování obrázků využívající tyto modely reálných kamer. Zároveň vytvořte jendoduchý model jiných snímačů použitelných v kontextu rozšířené reality jako je kamera použitá v Microsoft Kinect poskytující hloubkovou informaci o scéně.
[DP]
Hybridní hierarchie obálek - (Volné)
Prostudujte existující metody pro stavbu hierarchií obálek pro různá obalová tělesa. Implementujte metodu pro stavbu hybridní hierarchie obálek, kde typ obálky pro daný uzel hierarchie bude optimalizován vzhledem k využití hiearrchie pro metodu sledování paprsku. Pro tuto hybridní hieararchii implementujte rovněž algoritmus sledování paprsku a využijte ho pro vyhodnocení efektivity výsledných hierarchií.
[DP]
Diferenciálmí instatní radiozita - (Volné)
Prostudujte metody diferenciáního renderingu se zaměřením na metodu instatní radiozity. Implementujte metodu diferenciální instantní radiosity pro získání změn obrazu po vložení objektu do scény. Metodu důkladně otestujte v závislosti na jejích parametrech.
[BP]
Webový portál pro srovnávání kvality hierarchií obálek - (Volné)
Vytvořte webovou aplikaci, která umožní srovnávání hierarchií obálek (BVH) a souvisejících konstrukčních algoritmů pro několik vybraných scén. Součástí práce bude specifikace jednoduchého formátu pro popis BVH, včetně parametrů důležitých pro popis algoritmu, kterým byla daná hierarchie postavena (algoritmy konstrukce BVH nejsou součástí práce). Portál umožní uživatelům nahrát data v tomto formátu a provede ověření funkčnosti BVH, tím, že jej použije pro syntézu obrazu pomocí vybrané existující knihovny (PBRT nebo Embree). Portál umožní srovnávat BVH a související konstrukční algoritmy podle různých kriterií (čas pro stavbu BVH, čas syntézy obrazu, paměťová náročnost). Cílem práce je vytvoření prakticky použitelné světové unikátní platformy pro srovnávání BVH a jejich konstrukčních algoritmů.
[DP]
Výpočet kaustik v reálném čase pro Furry Ball - (Volné)
Prostudujte metody vhodné pro efektivní výpočet kaustik v reálném čase. Vybranou metodu implementujte v rámci existujícího softwaru Furry Ball založeném na DirectX. Implemetaci ověřte na sadě nejméně pěti testovacích scén a vyhodnoťte její efektivitu.
[DP]
Geolokalizované procedurální generování biomů v reálném čase - (Volné)
Zmapujte existující metody pro procedurální generování modelů různých biomů. Soustřeďte se na metody umožňující generování terénu a vegetace zvoleného typu biomu v reálném čase.
Implementujte aplikaci umožňující generování geolokalizovaných biomů v reálném čase v herním enginu Unity. V implementaci využijte informace o okolním prostředí z dostupných zdrojů jako jsou Open Street Maps a Google Elevation Maps. Cílovou platformou pro aplikaci budou přenosná zařízení jako jsou mobilní telefony a tablety. Aplikaci využijte v jednoduché vlastní geolokalizované hře. Proveďte výkonnostní testy implementace na různých platformách a realizujte jednoduchý uživatelský test vytvořené hry.
[DP]
Rozvoj nástroje na výuku transformací - nové moduly - (Volné)
Seznamte se s interaktivním nástrojem na výuku transformací, který je vyvíjen na katedře počítačové grafiky a interakce.
Prozkoumejte způsoby programování interaktivních nástrojů pro grafické programování. Zaměřte se na způsoby, jak jednoduše popisovat nové moduly.
Navrhněte a implementujte rozšíření stávající aplikace, které umožní rozšiřovat funkcionalitu přidáváním nových funkčních bloků bez nutnosti rekompilace zdrojových kódů. Nové funkční bloky budou popsány textovým formátem. Aplikace text načte a na jeho základě nové bloky vytvoří.
Textový popis bude možné též přeložit do zdrojových kódů a slinkovat se stávající aplikací.
Zvolené řešení by mělo být funkční minimálně na platformách Windows a Linux.
Zhodnoťte dosaženou kvalitu implementace z pohledu Softwarového inženýrství a otestujte funkčnost aplikace.
[DP]
Testování užitečnosti nástroje pro výuku transformací - (Volné)
Seznamte se s grafickým interaktivním nástrojem na výuku transformací, který je vyvíjen na katedře počítačové grafiky a interakce.
Prostudujte a shrňte metody pro testování, jaký vliv na získané znalosti má použití nástroje při studiu a porovnejte je se získanými znalostmi získanými klasickými metodami (kniha, přednáška, cvičení).
Zaměřte se výuku práce s maticemi v oblasti počítačové grafiky, nebo lineární algebry.
[BP]
Interaktivní lupa - (Volné)
Prostudujte metody pro implementaci interaktivní lupy [1] vhodné pro usnadnění orientace v síti propojených modulů a pro selektivní zvětšení vybraného modulu při editaci parametrů.
Vybrané dvě metody implementujte (v C++) v Interaktivním nástroji pro výuku transformací (I3T). Analyzujte způsoby, jak vizualizovat i propojení k ostatním modulům tak, aby se příliš neměnilo uspořádání mapy, ale aby se např. zvětšily a přiblížily moduly, se kterými je modul spojen. Uživatelskými testy otestujte, zda je pro uživatele vhodnější zobrazit všechny zapojené moduly, nebo zvlášť vstupy a výstupy (jako v Excelu). Implementaci ověřte sérií uživatelských testů, v nichž budou participanti řešit typické úkoly.
Oponent Sloup
[BP]
Podpůrné metody interakce pro nástroj na výuku transformací I3T - (Volné)
Seznamte se s metodami navádění uživatele v uživatelském rozhraní.
Pro interaktivní nástroj na výuku transformací (I3T) navrhněte X metod pro navádění uživatele. Rozlišujte metody použitelné jako podpora či nápověda:
a) při seznamování s uživatelským rozhraním (kde najdu ovládací prvek pro konkrétní úkol,...),
b) při používání nástroje (nabídka modulů, zvýraznění použitelných modulů a jejich vstupů k zapojení výstupu z modulu,...) a
c) při provádění konkrétního úkolu z tutoriálu (nabídka vhodných modulů, zvýraznění aktuálního modulu (zvětšení, zvýraznění, potlačení ostatních,...).
Navržené metody implementujte jako prototyp a pak v nástroji I3T (nebo přímo v I3T) a ověřte jejich použitelnost uživatelskými testy. Porovnejte rychlost provedení úkolu s podporou a bez ní.
[DP]
Demonstrační příklady na teselační shadery - (Volné)
Teselační shadery se v počítačové grafice používají na adaptivní generování geometrie těles např. dle vzdálenosti od kamery. Seznamte se s demonstračními programy na výuku teselací a na výuku křivek a ploch.
Vytvořte (ideálně ve výukovém prostředí předmětu PGR2) demonstrační příklad na fixní a adaptivní teselaci křivek a ploch.
Mezi varianty zobrazení zahrňte řídící body, uzlové body a hranice záplat, normály, tečny a trojhrany, hranice.
Prostředí C++ nebo javascript + GLSL/OpenGL. Pro návrh použijte metodu user centered design v alespoň čtyřech krocích. Vytvořený program demonstrujte v režimu jedné záplaty a na třech vybraných modelech plus Utah teapot.
-
[DP]
Ověřování přesnosti algoritmů pro globální osvětlování - (Volné)
Prostudujte si metody pro ověřování výpočtu globálního osvětlení. Připravte sadu scén v otevřeném formátu, datových souborů, skriptů či jiných programů pro realizaci ověřování algoritmů výpočtu globálního osvětlení, aby ji bylo možno použít pro ověření software pro výpočet globálního osvětlení. Po dohodě s vedoucím práce vyberte software pro ověření globálního osvětlení, například systém z knihy PBRT (Physically Based Rendering Toolkit), a proveďte výpočet chyb, které daný software dosahuje.
[DP]
Metody pro vrhání paprsku s hierarchiemi obálek - (Volné)
Prostudujte literaturu pro existující metody pro stavbu hierarchie obálek (BVH) pomocí metod zeshora dolů, zespoda nahoru, vkládáním a různé globální optimalizace pro zlepšení vlastností hierarchií. Vybrané metody po dohodě s vedoucím práce implementujte na CPU v jazyku C++ a ověřte správnost algoritmu pomocí vhodných metrik, vizualizace datových struktur a metody vrhání paprsku. Metody otestujte na sadě alespoň patnácti různých scén různé velikosti a charakteru scény.
Po dohodě s vedoucím práce vybrané metody implementujte na GPU v jazyku CUDA popřípadě v OpenCL.
Testovací data dodá zadavatel práce.
[DP]
Stavba datových struktur pro sledování paprsku na grafickém akcelerátoru - (Volné)
Nastudujte literaturu ke stavbě datových struktur na grafické kartě pro metodu sledování paprsku se zaměřením na paralelizaci výpočtu. Implementujte tyto metody pro kd-strom a hierarchii obálek (BVH), optimalizujte tyto metody z hlediska rychlosti výpočtu a použité paměti. Pro implementaci použijte jazyk CUDA firmy NVidia a jazyk popsaný standardem OpenCL. Výsledné implementace porovnejte pro sadu testovacích scén pro rekurzivní metodu sledování paprsku.
[DP]
Dynamické datové struktury pro vrhání paprsku v animovaných scénach - (Volné)
Prostudujte literaturu pro existující metody pro animované scény, které jsou vhodné pro animované scény bez znalosti pohybu objektů ve scéně s důrazem na ty metody, které aktualizují již postavenou datovou strukturu a hierarchii obálek. Vybrané metody implementujte na CPU v jazyku C++ a ověřte správnost algoritmu pomocí vhodných metrik a vizualizace datových struktur. Metody otestujte na sadě alespoň šesti animovaných scén.
Po dohodě s vedoucím práce vybrané metody implementujte na GPU v jazyku CUDA popřípadě v OpenCL.
Data animovaných scén dodá zadavatel práce.
[DP]
Parametrizace textury třírozměrných modelů - (Volné)
Prostudujte metody pro parametrizaci souřadnic textur pro libovolné modely. Po dohodě s vedoucím práce vybrané alespoň čtyři metody implementuje v jazyku ANSI C++ s tím, že vstupem algoritmu bude trojúhelníková síť ve formátu Wavefront OBJ a výstupem bude rovněž soubor v tomto formátu se souřadnicemi textur pro každý vrchol vstupní trojúhelníkové sítě. Program bude obsahovat i jednoduchý prohlížeč modelu s texturou podle spočítané parametrizace, kde na modelu bude případně možné zadávat vstupní hodnoty pro vybrané algoritmy.
Vybrané a implementované algoritmy otestujte alespoň na deseti geometrických modelech jednotlivých objektů a složitějších scén.
[DP]
Optimalizační algoritmy pro parametrické modelování odrazivosti - (Volné)
Nastudujte optimalizační metody minimalizace funkce pro analytického BRDF modelu jako nástroje pro modelování naměřených dat. Implementujte software v C++ pro takovou optimalizaci pro různá kritéria výsledné chyby a BRDF modely v knihovně BRDFLIB. Jako BRDF data použijte databáze firmy MERL se 100 materiály. Spočítejte chybu pro parametrický model pro nafitovaná data, výsledné obrázky a chyby vizualizujte na objektu.
Nutná dobrá znalost C++ a anglického jazyka.
[DP]
Efektivní datové struktury pro sledování paprsku - (Volné)
Nastudujte efektivní metody pro sledování paprsku na CPU a GPU. Podle pokynu vedoucího práce implementujte nové metody se zaměřením na rychlou stavbu a rychlost vrhání paprsku. Práce vyžaduje vynikající znalost C++ a pokud možno i prostředí CUDA a OpenCL.
[DP]
Parametrizace modelu MPII budovy pro texturování - (Volné)
Nastudujte problematiku 2D parametrizace textur třídimenzionálních objektů a rozsáhlých scén. Pro konkrétní rozsáhlou scénu 'MPII Building Model Dataset' navrhněte efektivní postup pro doplnění parametrizace textur celého modelu pro všechny povrchy modelu s využitím nedávných článků dostupných s realizovaným software. Tento postup realizujte pro celý model a verifikujte na správnost pro vizualizaci různých textur pro jednotlivé druhy materiálů povrchů v modelu.
Převeďte dat do třech formátu: PBRT, Mitsuba a Wavefront OBJ. Vyrendrujte obrázky v systému PBRT a Mitsuba a porovnejte je s fotografiemi.
Dobrá znalost anglického jazyka nutná. Znalost modelování v 3D Studiu MAX výhodou.
[BP]
Parametrizace povrchu modelu MPII budovy pro texturování - (Volné)
Nastudujte problematiku 2D parametrizace textur třídimenzionálních objektů a rozsáhlých scén. Pro konkrétní rozsáhlou scénu "MPII Building Model Data" navrhněte efektivní postup pro doplnění parametrizace textur celého modelu pro všechny povrchy modelu. Tento postup realizujte pro celý model a verifikujte na správnost pro vizualizaci různých textur pro jednotlivé druhy materiálů povrchů v modelu.
Dobrá znalost anglického jazyka nutná. Znalost modelování v 3D Studiu MAX výhodou.
[DP]
Optimalizace umístění kamer pro sledování objektů - (Volné)
Prostudujte problém vícerozměrného pokrytí prostoru pomocí pohledových jehlanů kamer pro sledování objektů ve virtuální realitě (angl. tracking). Navrhněte a implementujte optimalizační algoritmus, který vzhledem k funkci důležitosti zadané uživatelem navrhne takové rozmístění kamer v prostoru na omezeném prostoru tak, aby užitné vlastnosti systému pro trackování byly maximalizovány, tedy každý bod v zadaném prostoru pro trackování je viděn z co největšího počtu kamer popřípadě s omezením na minimum alespoň M kamer. V modelu uvažujte i případné zastínění sledovaných bodů uživatelem směrovou funkcí.
Systém implementujte a otestujte na systému pro tracking v laboratoři VRLAB pro 3 až 6 kamer systému Optitrack na obdélníkovém rámu. Výsledky z optimalizačního algoritmu prakticky vyzkoušejte na tomto prostoru. Porovnejte výsledky optimalizace s naivním řešením bez optimalizace.
[BP]
Fotografický přístroj z kamery pro počítačové vidění - (Volné)
Pro kameru určenou pro počítačové vidění firmy SVISTEK SHR411-CXGE s chipem 14192 x 10640 pixelů navrhněte zapojení elektroniky s vestavěným počítačem a vhodným způsobem ovládání tak aby výsledná kombinace hardware a software byla použitelná jako fotografický přístroj. Fotografický přístroj musí umožňovat nastavení délku expozice, mít nahledový displej velikosti alespoň 3.5 palců, musí umožnit pomocí univerzální desky připojení velkoformátových objektivů různé ohniskové délky. Napájení může být vnitřní tak i vnější. Využijte platformu RASPBERRY PI 4 či jinou vhodnou platformu po dohodě s vedoucím práce.
Zdroj pro provoz přístroje může být buď externí nebo lépe externí i interní formou akumulátoru LIFEPO. Tělo fotografického přístroje bude navženo jako 3D model pro výrobu na 3D tiskárně.
Navržený fotografický přístroj vyprodukujte v prototypu s využitím 3D tiskárny, vyzkoušejte nejméně na nezávislých třech uživatelích, navrhněte změny a produkujte druhý finální prototyp.
[DP]
Optimalizace zpracování obrazových BTF dat z měření pro syntézu obrazu - (Volné)
Nastudujte si problematiku pro zpracování obrazových dat zahrnujících jejich rektifikaci pomocí homografií s využitím homogenních souřadnicí včetně přípravy matic homografie. Navrhněte přístupy pro zrychlení zpracování rozsáhlých obrazových dat reprezentujících pořízených světelným bubnem. Vybrané přístupy implementujte, testujte a vyhodnoťte zrychlení.
Znalost efektivního programování v ANSI C++ a na grafických kartách v CUDA. Dobrá znalost angličtiny je nezbytná.
[DP]
Simulace míchání pigmentů barev - (Volné)
Nastudujte metody pro míchání barev obsahujících pigmenty. Navrhněte a realizujte metodu míchání dvou nebo tří barev na fyzické malířské paletě fyzickým nástrojem typu malířské hrabičky, aby co nejvěrněji odpovídala realitě s využitím volumetrických dat a teorie skládání pigmentů. Metodu implementujte a spočtěte obrázky a následně video simulující míchaní barev na malířské paletě.
Dobrá znalost matematiky, jazyka C++ a angličtiny je nezbytná, metod syntézy obrazu (předmět RSO) je žádoucí.
[BP]
Postup výroby prototypových plošných spojů s využitím CNC frézky - (Volné)
Seznamte se s CNC frézkou Kompas H400GS firmy CauCau, základním způsobem použití pro výrobu. Proveďte rešerší na téma výroby jednostranných a oboustranných plošných spojů s využitím této CNC frézky pro datový formát popisu plošného spoje GERBER.
Vybrané postupy z rešerše po konzultaci s vedoucím práce vyzkoušejte a porovnejte kvalitu a čas výroby různých postupů výroby prototypových plošných spojů minimálně třech různých plošných spojů o různé složitosti a minimální velikosti 100x100mm, s tím, že prototyp každého plošného spoje produkujete minimálně pětkrát. Při vyhodnocení kvality postupu se zaměřte na slícování horní a dolní vrstvy plošného spoje, kvalitu hran plošných spojů podle úrovně detailu plošného spoje.
Nejlepší postupy pro výrobu jednovrstvého a dvouvrstvého plošného spoje popište detailně v manuálu popisujícím krok za krokem výrobu prototypu plošného spoje, uveďte přesnou obrazovou a jinou dokumentaci postupu, popište detailně možná úskalí a výhody či možná rizika metody. Kvalitu sepsaného manuálu ohodnottě na minimálně třech třech testovaných osobách. Manuál na základě zpětné vazby od uživatelů zlepšete a zveřejněte formou HTML stránek a PDF dokumentu v českém jazyce anebo v českém a anglickém jazyce.
Součástí manuálu bude i rejstřík termínů s obrázky a uvedením a vysvětlením termínů.
Znalost problematiky plošných spojů, jejich výroby a CNC frézování výhodou. Nutnost častého působení na Karlově náměstí v hardwarové dílně.
[DP]
Robotický malíř - zakladní programové prostředí pro robotické kreslení a malování - (Volné)
Seznamte se se základními technikami kresby a malby užívanými v dnešních letech pomocí štětce a tužky s měkkou tuhou či jinými technikami s využitím tuhé tužky (pastelky, fixy atd.). Připravte rešerší současného stavu robotického malování pomocí 6D robotů, nikoliv standardních plotrů či robotů typu SCARA.
Navrhněte fyzické uspořádání prostředů a následně programové rozhraní pro ovládání přesného robota MECADEMIC MECA500 tak, aby umožnoval přenášení zadaných tahů na fyzické médium (plátno, papír), míchání a celkou přípravu barvy na paletě ze základních temperových barev či olejových barev z tuby eventuelně i jiným vhodným způsobem.
Navržené hardwarové prostředí realizujte a otestujte pro alespoň 5 různých obrazů ze zadané předlohy.
Slušná znalost angličtiny, ochota učit se nové věci, pozitivní vztah k umění a obvzláště malířské tvorbě, pokud možno vlastní zkušenost v malířské tvorbě nad rámec základní školy. Dobrá znalost C++. Znalosti základů robotiky nejsou podmínkou.
[BP]
Trojrozměrné modelování ve virtuální realitě - (Rezervováno)
Design and implement a simple virtual sculpting system that will support the Oculus Rift head-mounted display.
Use the 6-DOF hand tracker Razer Hydra as the input controller.
Employ an adaptively refined triangle mesh [1,2] for the representation of the sculpted clay surface.
The system will facilitate the sculpting using four tools that will remove the clay, add the clay, drag the surface, and smooth the surface.
Implement the system in C++ using the OpenGL API.
Use the vendor-supplied APIs [3,4] for interfacing with the display and the controller.
[BP]
Vzdálenost do cíle regaty - (Volné)
Analyzujte možnosti výpočtu pořadí lodí a vzdálenosti jednotlivých lodí do cile u různých typů námořních regat.
Navrhněte a implementujte algoritmus pro výpočet vzdálenosti do cíle při námořní regatě.
Ověřte fungování algoritmu (i nad reálnými daty z proběhlých regat).
[DP]
Replikovatelné BLOB úložiště v distribuovaném prostředí - (Volné)
Nastudujte důsledně články popisující existující BLOB storage systémy.
Analyzujte možnosti replikace dat uložených do BLOB storage. Navrhněte
BLOB storage systém Implementujte BLOB storage systém, který bude
využívat distribuce dat mezi jednotlivé služby. Pro systém implementujte
jednoduché webové grafické rozhraní informunjící o základních metrikách
systému (zdraví, orientační stav replikace apod.)
[DP]
Detekce anomálního chování distribuovaných webových služeb - (Volné)
Nastudujte důsledně předchozí diplomovou práci pana Bc. Adama Lysáka.
Pro hodnoty z jednotlivých metrik analyzujte možnosti detekce anomálií v
chování jednotlivých služeb / počítačů. Navrhněte a implementujte systém
detekce anomálií pomocí techniky decision trees. Analyzujte a navrhněte
systém pro asistovanou automatizovanou detekci anomálií v chování
jednolivých služeb. Pro systém navrhněte webové GUI v technologii
ASP.NET, které bude umožňovat správu detekčních mechanizmů systému.
[DP]
Vyhledávání nad kryptovanými datyanglicky: Search on Encrypted Data - (Volné)
Nastudujte důsledně doporučené články. Analyzujte možnosti popsaných algoritmů nad architekturou Klient-Server. Na základě popsaných algoritmů implementujte knihovnu pro kryptování dat klientské straně při zachování možnosti jednoduchého prohledávání kryptovaných dat na serverové straně. Algoritmus implementujte v režimu proof-of-concept. Implementovaný algoritmus otestujte nad textovými daty.
[BP]
Virtuální piano - (Volné)
S využitím leap motion technologie implementujte hraní na virtuální piano. Předpokládejte, že uživatel bude sedět u reálného stolu a na něj bude hrát. Vytovřte alespoň dvě různé VR místnosti ve kterých bude uživatel hrát, zvažte možnost vlivu místnosti/nástroje na výsledný zvuk.
-
[DP]
Vizualizace 3D dat na širokoúhlé projekci - (Volné)
přibližné téma:
V Institutu plánování a rozvoje Prahy (IPR) byla vytvořena nová širokoúhlá projekce (4 x FullHD vedle sebe). IPR disponuje různými 3D daty a chtěl by je na této stěně vizualizovat (například postup vody při záplavách, úrovně znečištění...).
Téma je volnější a bude záležet na studentovi, kterou problematiku by chtěl vizualizovat a jak.
-
-
[BP]
Navigace ve vnitřních prostorách s využitím rozšířené reality - (Volné)
1) Seznamte se s VPS
2) Porovnejte knihovny s ohledem na kvalitu rozpoznávání a cílovou platformu
3) Vytvořte VPS kotvy pro podobné typy křižovatek (5x podobné - minimálně 5 různých typů)
4) Porovnejte kvalitu rozpoznávání křižovatek (s jakou pravděpodobností se určí ta správná)
5) Navrhněte a imlementujte aplikaci, která informuje uživaete
-- zadání potřebuje uhladit a dospecifikovat
[DP]
Míchání video streamů pro potřeby video konference - (Volné)
Pro potřeby projektu Semsung, který se zabývá audio/video konferenčními hovory realizovanými pomocí SIP infrastruktury, navrhněte a implementujte komponentu, která umožní míchání a distribuci video streamu pro účastníky konference.Řešení integrujte s existující infrastrukturou projektu Semsung.
[BP]
Zásuvný modul pro podporu Struts do NetBeans 6.0 - (Volné)
Seznamte se s webovým rámcem Struts. Analyzujte, jak je tento rámec podporován v jednotlivých vývojových prostředích (NetBeans, Eclipse, JBuilder atd.). Navrhněte a implementujte zásuvný modul do prostředí NetBeans verze 6, který zajistí podobnou podporu Struts.
-
[BP]
Audio a video streaming pomocí HTML 5 - (Volné)
Prozkoumejte možnosti streamování zvukové a video informace v moderních webových prohlížečích, které implementují HTML 5. Navrhněte a implementujte komponentu, která A/V stream zachytí a zpracuje. Komponentu integrujte do systému projektu Semsung, který se zabývá audio a video konferenčními hovory pomocí webového prohlížeče.
[BP]
Podpora interaktivní výuky a asistence ve školách – hra Slovní fotbal - (Rezervováno)
Navrhněte a implementujte hru „Slovní fotbal“ pro zařízení s OS Android za účelem obohacení slovní zásoby dětí v rámci výuky jazyků. Aplikace bude koncipovaná síťově, tj. bude možno hrát po síti s více uživateli. Dále implementujte server, který bude shromažďovat a vyhodnocovat pokroky jednotlivých hráčů. Hra se bude dát hrát jak za jednotlivce, tak i týmově na více zařízeních. Imlementaci ověřte vhodným testem použitelnosti.
[BP]
Mobilní aplikace pro aukční portál - (Volné)
Navrhněte a implementujte mobilní aplikaci na platformě Android, která bude sloužit pro nakupování, prodávání a přihazování na aukčním portálu Nume (www.nume.cz). Zohledněte omezené schopnosti mobilních zařízení ve smyslu velikosti obrazovaky, interakce apod. Aplikaci otestujte na vhodné množině cílových uživatelů. Na serverové straně aplikace navrhněte a implementujte vhodné rozhraní (web services nebo REST). (Rezervováno pro Veroniku Stojanovou FIT)
-
[BP]
Vizualizace síťového provozu IPS - (Volné)
Na mobilní plafromě - tabletu vizualizujte různé aspekty síťového provozu procházejícího přes IPS. Pomocí připraveného programového rozhraní vizualizujte také zásahy IPS do nastavení firewall.
[DP]
Webové uživatelské rozhraní pro Vokabulář Webový - (Volné)
Implementujte webové rozhraní pro aplikaci Vokabuláře Webového. Platfroma: ASP.NET. Postupujte metodou User Centred Design. Spolupracujte s členy řešitelského týmu. Využívejte již existujících webový služeb. Zvláštní pozornost věnujte metodám vyhledávání v databázi.
[BP]
Nástroj pro správu aukčních položek portálu Nume - (Rezervováno)
Navrhněte a implementujte nástroj pro hromadné vkládání a správu položek na aukčním portálu Nume.cz. Kromě samotných položek bude nástroj umožňovat i manipulaci s fotografiemi předmětů a jejich zpracování před nahráním (typicky zmenšení na požadovanou velikost). Nástroj bude určený pro osobní počítače s operačním systémem Windows. Ke komunikaci s portálem navrhněte a implementujte REST rozhraní. Nástroj otestujte a to jak funkčními testy, tak testy použitelnosti.
[DP]
Rozšířená realita a údržba zařízení - (Volné)
Vytvořte dvojici aplikací pro brýle HoloLens 2, které budou sloužit pro oddělení údržby:
1) V první aplikaci propojte brýle s existujícím systémem Condition monitoring (CM) tak, aby se při pohledu na kontrolované zařízení a objevení chybového hlášení v systému CM v brýlích zobrazil návod, jakým způsobem problém řešit. Pomocí rozšířené reality bude obsluha naváděna, jakým způsobem má chybnou část stroje opravit. Zobrazí se též přesný typ náhradního dílu, jeho umístění, případně informace o možnosti jeho objednání.
2) Druhá aplikace umožní expertovi vzdálenou navigaci pracovníka obsluhy s brýlemi, např. přidávání textových pokynů či operace s rozšiřujícími obrazovými informacemi.
Obě aplikace vytvořte ve spolupráci s určeným pracovníkem firmy Continental.
Skutečná zařízení simulujte vhodnou digitální náhradou.
[DP]
Rozšířená realita a školení operátorů - (Volné)
Vytvořte aplikaci pro brýle HoloLens2, která bude sloužit pro první stupeň školení nových operátorů.
V aplikaci bude vizualizace výrobní linky. Na každém dílčím pracovišti bude možné virtuálně sestavit vyráběný produkt jako na skutečné lince. Během montáže se bude operátorovi v brýlích zobrazovat výrobní návodka, kde budou popsány všechny montážní kroky, které musí na daném pracovišti vykonat.
Aplikaci vytvořte ve spolupráci s určeným pracovníkem firmy Continental.
[BP]
Porovnání akcelerovaných webových rozhraní - (Volné)
Seznamte se s klientskými rozhraními WebGL 1, WebGL 2 a WebGPU. Nastudujte jejich rozdíly a podporu v závislosti na webových prohlížečích, jejich verzích, hardware a jeho ovladačích.
Sestavte modelovou grafickou úlohu či scénu a naimplementujte ji pomocí těchto tří rozhraní. Srovnejte následně výsledky v kontextu:
- jednoduchosti zdrojového kódu
- podpory napříč uživatelskými zařízeními
- výkonu
[BP]
Kompatibilita Gamepad API napříč hardwarem a softwarem - (Volné)
Seznamte se s webovým rozhraním Gamepad API. Sestavte následně klientskou aplikaci (či jen stránku), která vyčíslí připojené gamepady a jejich vlastnosti. Stránka uživatele vyzve k interakci s gamepadem, vypíše získané události a vhodnou formou bude vizuálně prezentovat vnitřní stav (vlastnosti "axes", "buttons").
Proveďte následně testování napříč kartézským součinem:
- alespoň tří různých prohlížečů (Chrome, Firefox, Safari)
- alespoň tří různých operačních systémů (Windows, MacOS, Linux)
- alespoň dvou různých ovladačů (drátový, bezdrátový)
Naměřené informace prezentujte v těchto hlavních kontextech:
- jak se data pro jeden konkrétní ovladač liší v závlosti na prohlížeči a OS,
- jak se data z jedné kombinace prohlížeč+OS liší v závislosti na ovladačích
Uvažte a vysvětlete, zdali je Gamepad API vhodné pro aplikační užití samo o sobě, či jestli je k jeho praktickému používání nutná nějaká další abstrakce či knihovna.
[BP]
Zpracování jazyka Markdown v prohlížeči - (Volné)
Seznamte se se značkovacím jazykem Markdown. Zjistěte, jaké existují parsery jazyka dostupné pro webový prohlížeč (klientský JavaScript) a proveďte jejich test a porovnání v těchto kontextech:
- rychlost zpracování
- objem kódu
- podpora standardních i rozšířených vlastností Markdownu
- forma hostingu/použití
Prozkoumejte, jaké formy rozšiřitelnosti jednotlivé implementace nabízí. Vyberte tu, kterou považujete za nejlépe rozšiřitelnou, a naimplementujte do ní syntaktický plugin dle vlastní volby (tabulky, vlastní HTML atributy, include, nezalomitelné mezery, preprocessing...).
Zdokumentujte plugin i proces jeho vzniku. Plugin vystavte na veřejně přístupném místě a doplňte o příklady použití.
[BP]
Porovnání výkonu server-side JS prostředí - (Volné)
Seznamte se s JS runtime Node.js, Deno a Bun. Nastudujte jejich společné rysy i hlavní rozdíly, sepište je a ověřte, jakými technologiemi jsou implementovány.
Navrhněte následně sadu výkonových testů (benchmarků) pro porovnání těchto prostředí. Testy by měly probíhat v těchto kontextech:
- zátěž CPU
- zpracování síťových požadavků (HTTP)
- disk I/O
- JavaScript vs. TypeScript
- asynchronní vs. synchronní API (síť, disk)
Proveďte měření všech JS runtimů těmito testy. Vyzkoušejte jejich stabilní (LTS) verze a testy proveďte i nad různými operačními systémy (Linux, Windows, MacOS). Výsledky popište jak slovně, tak pomocí tabulek a grafů.
[BP]
Latence Web Audio a Web MIDI - (Volné)
Seznamte se s klientskými rozhraními Web Audio a Web MIDI, nastudujte jejich softwarovou a hardwarovou podporu.
Uvažte, kde všude může při využívání těchto API vznikat latence (zpoždění); navrhněte metodologii pro měření vstupní a/nebo výstupní latence. Změřte, jak se tyto hodnoty mění:
- v čase
- v závislosti na operačním systému
- v závislosti na prohlížeči
- v závislosti na výstupním zvukovém zařízení
Navrhněte a naimplementujte způsob, jak s latencí pracovat pro zkvalitnění uživatelského zážitku.
/*
Poslední aktualizace textu: 31.08.2023 22:45 (nabídka zadání se aktualizuje automaticky podle KOSu).