English [British flag]

Ročníkové projekty (NPRG045 & NPRG046)


Volná témata

V akademickém roce 2009/2010 nabízím tato témata na ročníkové projekty:

Haptické ovládání okenního systému
Dvousemestrální projekt + bakalářská práce
(Zadáno)
Základem projektu bude vytvoření virtuálního ovladače myši pro zvolený okenní systém (MS Windows, X Window system). Tento ovladač bude spolupracovat s aplikací komunikující s haptickým zařízením, které tak zpřístupní okennímu systému jako další vstup.
Hlavní částí projektu pak bude návrh a implementace jednoho nebo několika způsobů ovládání okenního systému haptickým zařízením. Příkladem může být využití 3. rozměru pro citlivost vstupu nebo pro virtuální plochy. Zájemci bude k dispozici haptické zařízení Novint Falcon.
Pozn. Samotné ovladače na haptické zařízení jsou k dispozici, nejedná se tedy o psaní HW ovladače.
Haptický nástroj do GIMPu
Dvousemestrální projekt + bakalářská práce
(Zadáno)
Vytovření podpory pro haptické zařízení Novint Falcon do obrázkového editoru GIMP. Návrh několika způsobů využití 3D a silového výstupu při manipulaci s obrázky (reálná simulace chování štětce, citlivost, změna barvy apod.). Srovnání a zhodnocení těchto přístupů, ideálně provedením skutečné user study. Haptické zařízení Novint Falcon bude zájemci k dispozici.
Skriptovatelná virtuální kamera
Dvousemestrální projekt + bakalářská práce
C++ knihovna pro programové ovládání virtuální kamery ve 3D scéně umožňující externím skriptem definovaný průlet scénou s volitelnou hladkostí pohybu (interpolace). Předpokládané použití je pro prezentační účely nebo v kombinaci se snímaním videa z obrazovky. Komunikace s neznámou reprezentací kamery. Spolupráce s časovačem a klávesnicí řízenými mimo knihovnu. Interaktivní zadávání uzlových bodů přímo ve scéně.
Interpret standardních anotací a sémantik v jazyce Cg
Dvousemestrální projekt + bakalářská práce
C knihovna pro interpretaci systému SAS (Standard Annotations and Semantics) v souborech CgFX pro prostředí OpenGL i DirectX. Knihovna doplní funkcionalitu Cg runtime o nastavování parametrů se standardní sémantikou a o provádění SAS skriptů, z anotací i zadaných externě.
Součástí projektu bude také implementace netriviální aplikace používající tuto knihovnu. Obsah této aplikace bude předmětem dohody s řešitelem.
Servisní editor 3D objektů ve formátu OBJ
Jendosemestrální projekt
Jednoduchý editor pro práci s objekty ve formátu OBJ, používajícími materiály formátu MTL. Editor bude umět operace jako změna měřítka a souřadné soustavy objektu, inverze nebo dopočítání normál, přidání odvrácených stěn, sloučení několika objektů apod. Klasické editační operace (jako přidávání/přesouvání vrcholů) nejsou potřeba. Z formátu OBJ není nutné podporovat složitější věci jako křivky a plochy. Část sloužící k načítání a ukládání modelů a materiálů by měla být implementována jako samostatně použitelná knihovna.
V případě zájmu je možné projekt zadat i jako dvousemestrální s navazující bakalářskou prací; v takovém případě se patřičně upraví požadovaná funkcionalita editoru.

Pokud máte o některé téma zájem a jste schopni řídit se níže uvedenými pravidly, kontaktujte mě mailem. Je případně možné přijít i s návrhem vlastního tématu z oboru počítačové grafiky. Takové téma však podléhá schválení a při řešení projektu podle vlastního tématu očekávám od řešitele značnou míru samostatnosti.


Pravidla

U dvousemestrálních projektů počítám s přímou návazností na bakalářskou práci, tomu je přizpůsoben i rozsah témat. Přesné stanovení hranice mezi obsahem projektu a bakalářské práce může být předmětem dohody s řešitelem.

Pro všechny zájemce platí následující podmínky:

Platforma

Není-li up projektu uvedeno jinak, musí být psán v jazyce C, C++ nebo Java. Jako cílový operační systém preferuji Windows, může být i Linux.

Kontrola průběhu

Řešitel musí založit webovou stránku, na které bude dokumentovat průběh své práce na projektu. Nové informace o stavu projektu se na ní musí objevovat minimálně 1x za 14dní.

Kromě toho uvítám uchovávání projektu v repository programu pro správu verzí, ke které budu mít přístup. Je možné pro projekt zřídit SVN repository na fakultním serveru cgg.mff.cuni.cz. Informace o programu SVN (Subversion) lze najít na jeho oficiálních stránkách.

Minimálně 1x za 2 měsíce, raději však častěji, bych chtěl s řešitelem konzultovat stav projektu na osobní schůzce.

Odevzdávané části

Průběh práce na projektu bude formálně kontrolován v těchto bodech:

Podrobná specifikace

Obsahem by mělo být zhodnocení dosavadních přístupů k řešení problému a analýza případných existujících programů, včetně porovnání s navrhovaným vlastním programem. Dále musí obsahovat návrh struktury programu, tedy logické rozčlenění do modulů, popis funkcionality, seznam knihoven, které hodláte použít apod. Součástí specifikace je také určení vývojového jazyka a cílové platformy.

Pilotní verze

Předpokládaný obsah pilotní verze programu bude předmětem dohody s řešitelem. Nemusí obsahovat žádnou dokončenou funkčnost, ale mělo by z ní být patrné, že na programu pracujete a vývoj směřuje správným směrem.

Betaverze

Musí obsahovat dokončené hlavní funkce, ostatní funkčnost by měla být alespoň rozpracovaná.

Finální verze

Odevzdaná verze musí být funkční a odladěná a obsahovat dokumentaci. Může samozřejmě obsahovat nehotová místa/funkce, která budou doplněna v rámci bakalářské práce.


Termíny projektů zahájených 2009/2010

Dvousemestrálí projekty

19.3.2010
Zápis do Grupíčku (formální přihlášení k vedoucímu)
27.3.2010
Písemné upřesnění zadání (cca. 100 slov), založení webové stránky projektu
24.4.2010
Odevzdání podrobné specifikace projektu
26.6.2010
Předvedení rozpracované pilotní verze projektu.
Listopad 2010
Předvedení betaverze programu
Únor/březen 2011
Odevzdání programu včetně dokumentace

Pozn. Termíny v akademickém roce 2010/2011 budou upřesněny.

Jednosemestrální projekty

19.3.2010
Zápis do Grupíčku (formální přihlášení k vedoucímu)
27.3.2010
Písemné upřesnění zadání (cca. 100 slov), založení webové stránky projektu
10.4.2010
Odevzdání podrobné specifikace projektu
15.5.2010
Předvedení rozpracované pilotní verze projektu.
10.7.2010
Předvedení betaverze programu
3.9.2010
Odevzdání programu včetně dokumentace

Termíny projektů zahájených 2008/2009

6.3.2009
Zápis do Grupíčku (formální přihlášení k vedoucímu)
28.3.2009
Písemné upřesnění zadání (cca. 100 slov), založení webové stránky projektu
25.4.2009
Odevzdání podrobné specifikace projektu
27.6.2009
Předvedení rozpracované pilotní verze projektu.
28.11.2009
Předvedení betaverze programu
6.3.2010
Odevzdání programu včetně dokumentace