Průběžná zpráva o stavu projektu 3D-ROOM
Základní informace
Cíl projektu
Základní popis :
Cílem projektu je vytvořit program, který umožní uživateli navrhnout
a editovat 3D scénu bytu nebo domu. Důraz bude kladen zejména na uživatelskou
přívětivost programu a kvalitu grafického prostředí. Snahou
týmu je, aby ovládání programu nevyžadovalo speciální technické
znalosti uživatelů.
V první fázi práce s programem uživatel nakreslí půdorys jednotlivých pater
domu nebo bytu a rozmístí v nich základí prvky jako jsou okna, dveře, pomocné
zdi, pohledy apod. V další fázi se uživateli zobrazí jím navržená scéna
ve 3D, kterou bude moci editovat. Editace scény bude spočívat v rozmísťování
různých typů nábytku a pomocných prvků (jako jsou např. schody,
stupínky, podhledy a pod.) a změně barev a textur nábytku
i zdí, podlah a stropů. Editaci bude uživateli usnadňovat množina
"inteligentních" funkcí jako je automatické umísťování nábytku
vůči stěnám, kladení částí nábytku na sebe apod.
Jednotlivé kusy nábytku si uživatel bude volit z rozsáhlé knihovny prvků.
Tuto knihovnu bude moci také editovat, tj. přidávat do ní
nové prvky popř. odstraňovat prvky nepoužívané.
Navrženou scénu bude moci uživatel procházet na způsob 3D her a ukládat
buď pro další editaci, nebo jako samostatně použitelný VRML
soubor.
Technické informace :
Pro tvorbu jádra programu bylo zvoleno vývojové prostředí firmy
Borland
C++ Builder 5.0., s přidáním ActiveX komponenty
Cortona (tj. VRML prohlížeče) firmy
ParallelGraphics
. Pro ukládání knihovny nábytku a některých pomocných
informací program využívá databázi MS Access.
V průběhu implementace programu je pro ukládání a kontrolu jednotlivých
verzí využíván program
Free VCS
.
Části projektu
V průběhu vytváření Specifikace byl projekt rozdělen
na tyto logické části :
Editor domu :
Vstupní část programu, v níž uživatel navrhne půdorys pokojů nebo pater
domu/bytu. Dále rozmístí pomocné prvky jako jsou okna, dveře,
pohledy a pod. a případně pokoje pojmenuje nebo popíše. Zobrazení
je v této fázi dvourozměrné a pouze schématické, tj. mělo by odpovídat
obvyklému kreslení 2D scény na papíře. Po dokončení návrhu základní
scény přejde uživatel do Editoru pokoje.
Editor pokoje :
Druhá a klíčová část programu, v níž se uživateli zobrazí scéna vytvořená
v prostředí Editoru domu ve 3D. V této části může uživatel do
scény přidávat a odebírat kusy nábytku uložené v Knihovně nábytku
a měnit barvy a textury zdí, podlah a stropů. Editaci mu usnadňuje
množina "inteligetních" funkcí.
Knihovna nábytku :
Pomocná část programu, která umožňuje rychlý a uživatelsky příjemný
průchod knihovnou (databází) různých kusů nábytku. Databázi je možné
také editovat, tj. přidávat do ní nové kusy nábytku a odebírat nepotřebné.
V této fázi může také uživatel měnit barvy a textury jednotlivých
kusů nábytku.
Funkce pro zobrazování a ukládání :
Funkce pro zobrazování zajišťují komunikaci s komponentou VRML prohlížeče,
který umožňuje 3D zobrazení scény. Funkce pro ukládání umožňují
ukládání a načítání rozpracované scény nebo uložení scény do
samostatného VRML souboru.
Dělba práce projektu
Jednotliví členové týmu zodpovídají za tyto části
:
- Editor domu - Lenka Proňková
- Editor pokoje, ukládání a načítání scény - Jan Pernička
- Knihovna nábytku - René Mihula
- Funkce pro zobrazování, ukládání scény jako VRML soubor - Irena Mlýnková
Dosavadní historie projektu
- 20.2. 2001
- Proběhla první schůzka členů týmu s vedoucím projektu.
- Byly rozděleny role v týmu, sepsán Návrh projektu a odeslán Projektové
komisi.
- Vznikly reprezentační www stránky projektu.
- 1.3. 2001
- Termín oficiálního zahájení práce na projektu.
- 6.4. 2001
- Návrh projektu byl schválen Projektovou komisí.
- březen - červen 2001
- Každý týden probíhají schůzky členů týmu a každé dva až tři týdny
schůzky s vedoucím projektu.
- Probíhá průzkum a analýza existujících programů s podobným zaměřením
jako je cíl projektu.
- Probíhá seznámení s jazykem VRML a průzkum možností VRML prohlížeče
Cortona.
- Vytvořeny základy Specifikace projektu :
- Dekompozice projektu na části Editor domu, Editor pokoje a Knihovna
nábytku.
- Základní datové struktury a objekty.
- Návrh uživatelského rozhraní.
- Schůzky týmu byly během zkouškového období přerušeny. Jednotliví
členové pracují na individuálních úkolech.
- červenec - srpen 2001
- Obnovení pravidelných schůzek členů týmu.
- Dokončení Specifikace projektu a zahájení implementace projektu.
- Vytvoření společné normy pro psaní zdrojových textů.
- Implementace základních objektů a datových struktur projektu.
- Implementace provizorních modulů zastupujících budoucí části projektu.
- Definice rozhraní mezi jednotlivými částmi (moduly).
- září - prosinec 2001
- Původní myšlenka ukládání knihovny do adresářové struktury nahrazena
použitím databáze.
- Průzkum vhodných databází, volba databáze MS Access.
- Podrobné studium jazyka VRML (členové týmu absolvují přednášku
Virtuální realita).
- Implementace betaverze projektu, zejména základní části projektu
- Editoru domu.
- leden - únor 2002
- Implementace betaverze projektu.
- Schůzky týmu byly během zkouškového období přerušeny. Jednotliví
členové pracují na vlastních částech projektu.
- 20.2. 2002
- Obnovení pravidelných schůzek členů týmu.
- Vypracována Zpráva o stavu projektu.
- únor - duben 2002
- Implementovány základní algoritmy nutné pro stěhování nábytku (triangulace
n-úhelníka, testování kolizí, ...).
- Implementace komunikační vrstvy funkcí mezi Cortonou a Editorem pokoje
(mazání objektů, zjišťování a nastavování aktuální pozice a rotace,
změny typu manipulace s objekty, ...).
- Implementace rovnoběžných pohledů (půdorys, nárys, bokorys).
- Vytvoření databázového schématu, vytvoření databáze textur.
- květen - červen 2002
- Vytvořena a implementována kostra finálního GUI programu.
- Implementace ukládání scény jako VRML soubor.
- Příprava datových struktur pro ukládání a načítání aktuální scény.
- Implementace uživatelského nastavení vlastností programu.
- Schůzky týmu byly přerušeny během zkouškového období.
- červenec - září 2002
- Začlenění parseru VRML jazyka pro import objektů do databáze.
- Implementace beta verze ukládání a načítání aktuální scény.
- Implementace beta verze "inteligentních funkcí".
- Zahájení ladění programu.
- Práce na projektu byla přerušena v důsledku srpnových záplav a
následné nefunkčností kolejí, kolejní sítě a převážné většíny
počítačových laboratoří MFF UK.
- říjen 2002
- Po obnovení provozu kolejí a kolejní sítě byly obnoveny pravidelné schůzky
týmu a práce na projektu.
- 21. 10. 2002
- Vypracována Zpráva o stavu projektu.
Poznámka : Přesnější představu o průběhu prací je možné získat ze
zápisů ze schůzek, které jsou umístěny na www stránce projektu.
Aktuální stav projektu
V současné době jsou implementovány tyto části :
- Všechny klíčové objekty a datové struktury.
- Nosná kostra jednotlivých částí projektu a rozhraní mezi nimi.
- Editor domu.
- Komunikační rozhraní mezi Cortonou a Editorem pokoje.
- Zobrazení ve 3D.
- Databáze pro textury a nábytek.
- Beta verze Editoru pokoje a "inteligentních funkcí".
- Beta verze ukládání a načítání aktuální scény.
- Beta verze vkládání objektů do databáze.
Odhad termínu ukončení projektu
Předpokládaný termín dokončení projektu je listopad 2002, v případě potíží s
pracovní kází problémových členů týmu (a s tím spojenou jejich výměnou) leden 2003.
Co by mohlo projekt ohrozit
Dokončení projektu v současné době není ohroženo. V krajním případě (výměna
členů týmu) dojde pouze k posunu termínu obhajoby (na leden 2003).
21.10.2002