| |
Vytvoření grafického rozhraní pro úpravu 3D modelu budov
Miroslav UMLAUF Institut geoinformatiky VŠB - Technická
univerzita Ostrava tř. 17. Listopadu 708 33 Ostrava -
Poruba E - mail: uml004@vsb.cz
Abstract
This thesis deals with designing and processing of a
graphic interface for a layout of the 3D model of buildings. One of the key
objectives is to unify an interface of the designed application with the
Internet application for generation of the 3D models of buildings, and
visualization in the WWW environment processed within the Diploma Thesis by
Michal Kramář. Thus, the application for a layout of the 3D model of buildings
is designed and processed also for the WWW environment. The introduction briefly
describes works by Michal Kramář which the present Thesis follows. Further, an
attention is paid to a choice of suitable software. An analysis and application
draft proposal follow according to which the interface (application) for the layout
of the 3D model of buildings is created. A final part deals with the whole system
extension to enable complete creation of the 3D model of the area of buildings,
its modifications and visualization.
Abstrakt
Tato práce se zabývá navržením a zpracováním grafického
rozhraní pro úpravu 3D modelu budov. Jedním z hlavních úkolů je sjednocení rozhraní
navrhované aplikace s internetovou aplikací pro generování 3D modelů budov a vizualizaci
v prostředí WWW, zpracovanou v rámci diplomové práce Michalem Kramářem. Aplikace pro
úpravu 3D modelu budov je tedy navržena a zpracována také pro prostředí WWW. V úvodu
je stručně popsána práce Michala Kramáře, na kterou tato práce navazuje. Dále je
věnována pozornost výběru vhodného programové vybavení. Následně je zpracována
analýza a návrh aplikace, podle kterých bylo vytvořeno rozhraní (aplikace) pro úpravu
3D modelu budov. Závěrečná část je věnována rozšíření celého systému tak, aby umožňoval
kompletní tvorbu 3D modelu areálu budov, jeho úpravy a vizualizaci.
Úvod
V současnosti je možné nalézt na Internetu WWW služby poskytující obrovské množství rozmanitých dat a informací, elektronické obchody, multimediální prezentace společností a mimo mnoha dalších také virtuální světy snažící se více či méně věrně napodobovat skutečný svět s jeho objekty a vlastnostmi včetně fyzikálních zákonů. Jedním z nástrojů, umožňujícím vytvářet takové virtuální světy je jazyk VRML (Virtual Reality Modeling Language). Právě tento jazyk využívá internetová aplikace pro generování a vizualizaci 3D modelu budov z dat uložených v databázi vytvořená v rámci diplomové práce Michalem Kramářem, a na kterou navazuje tato práce.
Tato diplomová práce se zabývá návrhem a zpracováním grafického rozhraní pro snadnou úpravu 3D modelu budov s omezením na 2D reprezentaci prvků. Jedním z hlavních úkolů bylo navrhnout jednotný systém pro editaci a generování 3D modelu pro prostředí WWW. Systém tak může být přístupný velkému počtu uživatelů a teoreticky z jakéhokoli počítače s připojením k síti Internet.
Úkoly a cíle práce
- Prvním z úkolů bylo prostudování diplomové práce Michala Kramáře [3], na kterou tato práce navazuje. Úkol vyžadoval velké množství času neboť bylo nutné detailně se seznámit s datovým modelem, databází, která byla využita v této práci a s kódem a celkovou koncepcí internetové aplikace pro vizualizaci 3D modelu budov (navržené v rámci zmíněné diplomové práce), která byla zapracována do systému.
- Druhý úkol určoval, že grafické rozhraní pro úpravu modelu mělo být vytvořeno s omezením na 2D reprezentaci prvků budovy. Bylo tedy nutné nalézt vhodné programové prostředky a technologie pro zpracování takovéhoto grafického prostředí a vybrat nejvhodnější z nich pro následné použití.
- Třetím úkolem bylo posouzení možností stávajícího řešení s ohledem na nový způsob aktualizace modelu budov. Pro zpracování tohoto úkolu bylo nutné splnit nejprve oba předchozí úkoly. Získané informace byly analyzovány a zhodnoceny v této práci.
- Čtvrtým úkolem bylo sjednocení rozhraní pro úpravu a vizualizaci 3D modelu budov tak, aby systém působil jako jednotný celek. Tím bylo dáno, že grafické rozhraní pro úpravu modelu budov bylo navrženo a zpracováno pro prostředí WWW. Bylo nutné navrhnout koncepci propojení internetové aplikace pro generování a vizualizaci 3D modelu a grafického rozhraní pro úpravu modelu a navrhnout jejich jednotný vzhled a způsob ovládání.
- Pátým úkolem bylo zpracování objektově orientované analýzy a návrhu aplikace. Velká pozornost musela být věnována především navržení vhodných funkcí tak, aby byla úprava 3D modelu snadná a aby byly umožněny všechny podstatné úpravy modelu.
- Šestým úkolem bylo zpracování grafického návrhu rozhraní. Tento úkol byl zpracováván společně s posledním úkolem.
- Sedmý úkol byl hlavním cílem práce - vytvoření prototypu navrženého systému, tedy systému umožňujícího snadnou úpravu 3D modelu budov a jeho generování a vizualizaci.
- Cílem, který nebyl dán žádným úkolem, byl odklon od komerčního programového vybavení potřebného pro funkčnost a tvorbu systému k nekomerčním (volně použitelným).
Možnosti navrženého a zpracovaného systému
Systém byl navržen a zpracován ve dvou verzích. První verze, splňující úkoly a cíle
zadání diplomové práce umožňuje spravovat (editovat, přidávat a mazat) prvky modelu po úroveň
patra a vyhledávat osoby a místnosti. Výsledkem vyhledávání je vizualizace 3D modelu areálu, vygenerování a vizualizace 3D modelu patra s vyznačením hledané
místnosti (místnosti hledané osoby) a zobrazení doprovodných informací o hledaném subjektu.
Druhá (rozšířená) verze, která vznikla na základě vlastní iniciativy autora a připomínek
k první verzi, umožňuje kompletní tvorbu modelu areálu a správu všech prvků (areálů, budov, pater...). Došlo také k pozměnění části pro
vyhledávání - na stránce zobrazen pouze jeden 3D model - model areálu včetně zobrazení patra - kompletně generován podle dat uložených v databázi.
Obr č.1 - Datový model používaný první verzí systému
Obr č.2 - Datový model používaný rozšířenou verzí systému
Obr č.3 - Výsledek vyhledávání v první verzi systému
Obr č.4 - Výsledek vyhledávání v rozšířené verzi systému
Obr č.5 - Rozhraní pro editaci prvků modelu (odkaz na rozšířené možnosti je pouze v rozšířené verzi systému)
Obr č.6 - Rozšířená verze umožňuje přidávat a upravovat areály, budovy (včetně možnosti přidávání pater, tvorby budov a pater kopií již existujících)...
Použité technologie a programové vybavení
Obr č.7 - Použité technologie a programové vybavení
Architektura klient-server
- jedna z nejpoužívanějších v prostředí WWW
- klient - počítač, který požaduje služby po jiném
- server - počítač, který přijímá požadavky a vrací odpovědi
- ke komunikaci je využito přenosového protokolu (např. HTTP)
WWW prohlížeč
- programové vybavení na straně klienta
(např. Internet Explorer, Netscape, Mozilla...)
- umožňuje zasílat požadavky serveru
- přijímá odpovědi (WWW stránky) a zobrazuje je uživateli
WWW server
- programové vybavení na straně serveru
(např. Apache, Internet Information Server...)
- zpracovává požadavky klientů
- vrací odpovědi (WWW stránky) - soubory html, obrázky...
PHP
- skriptovací jazyk určený mimo jiné k tvorbě dynamicky
generovaných WWW stránek
- PHP je také programové vybavení, které skripty napsané
v jazyce PHP zpracovává
Databáze
- umístěna na straně serveru - přistupují k ní PHP skripty
- přístup prostřednictvím ODBC rozhraní (k MS ACCESS...) nebo
přímo (MySQL)
VRML
- jazyk pro modelování světů (Virtual Reality Modeling Language)
- VRML prototyp - soubor napsaný v jazyce VRML představující
prototyp objektu, ve kterém jsou zaneseny obecně všechny
potřebné vlastnosti objektu, připravený k následnému použití
s konkrétními hodnotami
Generování WWW stránky s 3D modelem
- na straně serveru je spuštěn PHP skript, který na základě
požadavku klienta, z dat v databázi a VRML prototypů
vygeneruje 3D model areálu (patra)
- dále je vygenerována WWW stránka s doprovodnými
informacemi, do které jsou 3D modely začleněny
Zobrazení WWW stránky s 3D modelem
- pro zobrazení WWW stránky s VRML modelem v prohlížeči
je potřebné rozšíření (např. Cosmo Player, WorldView...)
- rozšíření umožňuje zobrazení modelu + možnost procházení modelem
Java
- objektově orientovaný jazyk - použit pro zobrazení půdorysu
patra a manipulaci s prvky (editace, přidávání, mazání...)
- Java applet - druh Java aplikace spouštějící se jako součást
WWW stránky
- často nutné rozšíření prohlížeče - tzv. Java plug-in
Princip editace prvků modelu
- applet odešle požadavek pro načtení dat PHP skriptu, ten
načte data z databáze a zašle je zpět appletu.
- applet zobrazí půdorys patra
- uživatel upraví prvky modelu (přidá stěny, osoby...)
- po příkazu uložit změny applet odešle požadavky pro změnu
dat PHP skriptu a ten provede změny v databázi
Shrnutí
Potřebné programové vybavení na straně klienta
- WWW prohlížeč
- rozšíření o možnosti zobrazení VRML modelu
- rozšíření o možnosti jazyka Java
Potřebné programové vybavení na straně serveru
Veškeré potřebné programové vybavení existuje ve volně dostupných verzích (zdarma).
Závěr
Hlavním cílem této práce bylo navrhnout a zpracovat systém pro úpravu a
generování 3D modelu budov v prostředí WWW. Tento cíl byl společně se všemi
úkoly zadání splněn.
V průběhu prací byl největším problémem návrh funkcí pro editaci modelu tak, aby
byly úpravy modelu snadné, aby poskytovaly všechny potřebné nástroje pro úpravu
modelu, aby řešily při editaci návaznost na okolní objekty a aby byly
implementačně zvládnutelné. Programování systému pak přinášelo řadu menších i
větších komplikací, často byly objeveny problémy, na které při analýze a návrhu
nebylo vůbec pamatováno, ale které se vždy podařilo vyřešit.
Celý systém byl pak nad rámec zadání diplomové práce rozšířen tak, aby navíc
umožňoval kompletní tvorbu, správu a generování 3D modelu v podstatě jakéhokoli
areálu.
Editační část systému by mohla být použita k dokončení 3D modelu areálu VŠB-TUO
a opravám chyb v modelu, případně k snadné tvorbě a správě jiného 3D modelu
areálu. Může také sloužit organizacím, úřadům atd. k snadnému návrhu rozmístění
příček (místností, kanceláří) v budovách, případně návrhům změn příček vedoucích
k optimalizaci užitného prostoru.
Vizualizační část pak může sloužit jednak k samotnému prohlížení 3D modelu a
především k vyhledávání osob a místností pro jejich snadné nalezení v reálných
budovách.
Protože byl systém navržen pro prostředí WWW, můžou organizace, úřady atd.
jednoduše zpřístupnit vytvořené 3D modely areálů na Internetu a nabídnout tak
informace o umístění osob a místností veřejnosti.
Systém by mohl být dále rozšířen například o vyhledávání zařízení v areálu,
vyhledávání budov, import dat ze souborů s plány budov (například z programů
AutoCAD, Microstation), nebo o vlastní rozhraní pro tvorbu VRML prototypů.
Literatura
[1] ARLOW, J. a NEUDSTAT, I.: UML a unifikovaný proces vývoje aplikací.
Computer Press, 2003
[2] ECKEL, B.: Thinking in Java 2nd Edition, Prentice-Hall, inc., 2000
[3] KRAMÁŘ, M.: Generování 3D modelů budov pro potřeby vizualizace v prostředí
Internetu. Diplomová práce, VŠB-TUO, Ostrava 2002
[4] VONDRÁK, I.: Úvod do softwarového inženýrství. VŠB – TUO, Ostrava 2002
[5] ŽÁRA, J.: VRML 97 – Laskavý průvodce virtuálními světy. Computer Press, 1999
[6] ---: JavaTM 2 SDK, Standard Edition Documentation Version 1.4.2 [online].
Dostupné na WWW: <http://java.sun.org>
[7] ---: VRML specification [online]. Dostupné na WWW: <http://www.VRML.org/Specifications/VRML97>
[8] Apache [online]. Dostupné na WWW: <http://www.apache.org>
[9] Java [online]. Dostupné na WWW: <http://java.sun.org>
[10] MySQL [online]. Dostupné na WWW: <http://www.mysql.com>
[11] Objektově orientované programování [online]. Dostupné na WWW: <http://www.objects.cz/>
[12] PHP [online]. Dostupné na WWW: <http://www.php.net>
[13] VRML editor [online]. Dostupné na WWW: <http://as.matfyz.cz/editor/editor.htm>
|