Publikace 3D modelů na webu jazyk VRML



Podobné dokumenty
Vektorové grafické formáty

Hierarchický model Josef Pelikán CGG MFF UK Praha. 1 / 16

Automatizovaná tvorba prostorových modelů map

Interaktivní model laboratoře RDC

Základy 3D modelování a animace v CGI systémech Cinema 4D C4D

Rozcestník virtuálních světů

2. přednáška z předmětu GIS1 Data a datové modely

GIS Geografické informační systémy

Formáty pro vektorovou grafiku

9 Prostorová grafika a modelování těles

FORMÁTY UKLÁDÁNÍ OBRAZOVÝCH INFORMACÍ VÝMĚNA DAT MEZI CAD SYSTÉMY

Jazyk VRML Technologie vývoje webových aplikací Marek Skalka, Adam Horáček

GIS Geografické informační systémy

Datové typy a struktury

13 Barvy a úpravy rastrového

Publikování map na webu - WMS

Virtuální prohlídka budovy v jazyce VRML

Model šestiosého robotu v prostředí Matlab

IVT. Grafické formáty. 8. ročník

Color Management System

Neskutené skuteno. Co je virtuáln. lní realita? Virtuální realita virtuální = fiktivní, neskutený, zdánlivý realita = skutenost, pravost

11 Zobrazování objektů 3D grafiky

Typy geometrie v. Rhinu. Body

Počítačová grafika 2 (POGR2)

Inovace výuky prostřednictvím šablon pro SŠ

Systém GIMP (barvy, vrstvy, transformace, průhlednost)

Systém GIMP - tvorba jednoduchých animací a grafiky pro web

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita

Počítačová grafika 1 (POGR 1)

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

Animované modely šroubových ploch

Jana Dannhoferová Ústav informatiky, PEF MZLU

Konverze grafických rastrových formátů

Zdroj:

Úvod do GIS. Prostorová data I. část. Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium.

Počítačová grafika RHINOCEROS

Staré mapy TEMAP - elearning

Tvorba prezentaci v Autodesk Inventoru 10

Produktové Dokumenty (Datum ) Srovnání verzí: pcon.planner 7.0 Rozdíly mezi verzemi Standard-, ME a PRO

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

Plugin TIS pro SketchUp. Návod k použití

Obsah. Úvod do prostorového modelování 9. Prostředí AutoCADu při práci ve 3D 15 KAPITOLA 1 KAPITOLA 2

Název: VY_32_INOVACE_PG3315 Umisťování textur pomocí modifikátoru UVW Map. Vzdělávací oblast / téma: 3D grafika, počítačová grafika, 3DS Max

Možnosti interaktivní prezentace prostorových modelů na internetu

Tiskárny - tisk z PC

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

SOFTWARE NA ZPRACOVÁNÍ MRAČEN BODŮ Z LASEROVÉHO SKENOVÁNÍ. Martin Štroner, Bronislav Koska 1

Reprezentace bodu, zobrazení

Základní práce v souborovém manažeru

Stránky projektu: Model Josefova

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Systém souborů (file system, FS)

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

Obsah. 1 Úvod 6 2 Rozbor a prostředky Cíle Prostorová lokalizace Prostorová topologie Internet a sítě 8

Polygonální objekty v Rhinoceros Volné modelování

Reprezentace 3D modelu

M M S. Značkovací jazyky

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Využití programu AutoCAD při vytváření geometrie konstrukce v prostředí programu ANSYS

Metody tisku CTP a CTF

MODELOVÁNÍ V INVENTORU CV

MBI - technologická realizace modelu

DATOVÉ FORMÁTY GRAFIKY, JEJICH SPECIFIKA A MOŽNOSTI VYUŽITÍ

Müllerova vila - interaktivní procházka

GIS Geografické informační systémy

VIRTUÁ LNÍ 3D MODEL BAROKNÍHO DIVADLA V ČESKÉ M KRUMLOVĚ

84. Barvové profily (monitory, skenery)

Systémy tisku CTP a CTF

BALISTICKÝ MĚŘICÍ SYSTÉM

Návod k použití softwaru Solar Viewer 3D

12 Metody snižování barevného prostoru

Sada 1 - PHP. 03. Proměnné, konstanty

Popis výměnného formátu XML

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Inovace výuky prostřednictvím šablon pro SŠ

45 Plánovací kalendář

Nápověda k webové aplikaci určené k revizi. ochranných pásem vodních zdrojů a vodárenských nádrží

GeoGebra Prostředí programu

Struktura scény. Petr Felkel Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E)

Výpočet průsečíků paprsku se scénou

L A TEX Barevné profily tiskových zařízení (tiskárny, plotry)

Tvorba 3D výukových aplikací pomocí technologie

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Algoritmizace prostorových úloh

Novinky v Solid Edge ST7

Controlweb. Úvod. Specifikace systému

Transformace (v OpenGL) příklady a knihovna GLM

Systém L A TEX tvorba prezentací

Předmět/vzdělávací oblast: Informační a komunikační technologie. Práce se standardním aplikačním programovým vybavením

Výpočet průsečíků paprsku se scénou

Název: VY_32_INOVACE_PG3304 Vytváření základních geometrických objektů ve 3DS Max a jejich úpravy

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

Výukový materiál KA č.4 Spolupráce se ZŠ

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Modelování 3D scény a její vizualizace

Úvod Typy promítání Matematický popis promítání Implementace promítání Literatura. Promítání. Pavel Strachota. FJFI ČVUT v Praze

3D sledování pozice vojáka v zastavěném prostoru a budově


Transkript:

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ OBOR GEODÉZIE A KARTOGRAFIE KATEDRA MAPOVÁNÍ A KARTOGRAFIE Publikace 3D modelů na webu jazyk VRML semestrální práce Martina Faltýnová Zdeněk Jankovský V Praze dne 22. 5. 2008 Kartografická polygrafie a reprografie

Úvod Tato práce si dává za úkol seznámit čtenáře s problematikou tvorby a publikace 3D modelů na webu za použití jazyka VRML. Cílem autorů je popsat způsob zápisu objektů, strukturu a možnosti jazyka VRML tak, aby si čtenář mohl utvořit představu o tomto jazyku, ne ho ovládnout (což na tak malém prostoru samozřejmě není možné). 1 Jazyk VRML VRML, neboli Virtual Reality Modeling Language je jazyk určený pro popis trojrozměrných scén obsahujících aktivní i pasivní objekty, použité například v aplikacích virtuální reality a k jejich publikaci na webu. VRML se však postupem času stal i formátem často používaným pro přenos trojrozměrných dat mezi různými aplikacemi. Tento jazyk je mimochodem definován i normou ISO. 2 Formáty pro zápis 3D modelů VRML samozřejmě není jediný formát (či jazyk) této kategorie, dnes se například poměrně razantním způsobem prosazuje formát X3D, který lze chápat jako ideového nástupce VRML a v minulosti si prakticky každá firma vytvářející 3D aplikace navrhla vlastní formát, ovšem doposud se z grafických formátů a deklarativních jazyků určených pro popis virtuální reality nejvíce rozšířil právě jazyk VRML. 3 Popis prostorových těles ve VRML Prostorová tělesa lze v tomto formátu popsat pomocí seznamu souřadnic vrcholů a plochami specifikovanými indexy svých vrcholů do seznamu vrcholů ve skutečnosti se jedná o poměrně úsporný způsob zápisu, především v porovnání s přímým zápisem vrcholů polygonů (většinou jsou vrcholy a hrany společné pro více polygonů). Pro základní geometrická tělesa, mezi něž patří krychle, koule, kužel apod., i pro objekt typu text jsou definována vlastní klíčová slova reprezentující uzly modelu, takže je není nutné rozkládat na trojúhelníky, což by bylo prostorově náročné a při přenosu modelů po Internetu i pomalé. Rozklad na trojúhelníky je ponechán na prohlížeči VRML. Také je podporováno texturování, tělesa lze dokonce potáhnout texturou uloženou ve formě videa. 1

3.1 Struktura Tento formát ideově vychází z formátu používaného v Open Inventoru, takže je možné tvořit hierarchické stromové struktury těles a měnit vlastnosti (transformace, barvu, texturu apod.) pro každou větev stromu zvlášť. Zvláště výhodná je tato reprezentace při interaktivní změně některých parametrů, například posunu celého složitého modelu. V nových verzích tohoto formátu, konkrétně od VRML 2.0, je dokonce možné specifikovat animace a programovat reakce na různé události, takže se z na první pohled běžného souborového formátu stává celá platforma pro virtuální realitu. Soubory typu VRML, jež mají většinou koncovku.wrl (popř. po komprimaci koncovku.wgz), jsou textové, takže je možné je upravovat běžnými textovými editory, posílat je přes filtry, spojit více souborů (a tím i reprezentovaných modelů) do jednoho (s vymazáním hlaviček druhého či dalšího připojovaného souboru) atd. Samotný export do VRML je velmi jednoduchý, proto se z tohoto formátu stává prostředek pro komunikaci mezi různými 3D editory, renderovacími programy a prohlížeči 3D modelů. 3.2 Zápis prostorové scény Ve VRML je celá trojrozměrná scéna popsaná pomocí objektů, které jsou hierarchicky uspořádány ve stromové struktuře. V tomto ohledu se VRML podobá již zmiňovanému Open Inventoru. Ukazuje se, že stromová struktura je pro popis 2D i 3D scén ideální, protože se možné jednoduše manipulovat jak s jednotlivými objekty, tak i s celými skupinami objektů. Představme si například jednoduchý model auta. Ten se bude skládat z pěti objektů čtyř kol a karoserie. Pro některé operace je vhodné uvažovat o autu jako o samostatném a nedělitelném objektu (posun auta ve scéně, zatáčení, řešení kolizí apod.), ovšem pro operace jiné například potřebujeme manipulovat s jednotlivými koly (otáčení). Pomocí stromové struktury lze tuto hierarchii vytvořit velmi jednoduše. Pro operace, které pracují s objekty vybíranými na základě jiných kritérií, než je jejich hierarchie, lze použít pojmenování objektů. Samotný formát souborů uložených ve VRML je založen na textovém popisu scény. Ve VRML 1.0 se texty zapisují pomocí ASCII kódování, ale v dalších verzích je již možné použít populární kódování UTF-8. Na prvním řádku souboru se nachází hlavička začínající znakem # (což je ve všech ostatních řádcích počáteční znak poznámky), za kterým následuje verze VRML a způsob kódování. Pokud se vám poštěstí narazit na soubory určené pro Open Inventor (například jde o výstup z 3D skenerů Minolta Vivid), které nelze v běžných prohlížečích zobrazit, většinou pomůže přepis prvního řádku na sekvenci #VRML V1.0 ascii, protože jinak se tyto soubory s velikou pravděpodobností nebudou lišit. Celá stromová struktura 3D scény je reprezentovaná uzly zapisovanými způsobem jméno_uzlu {vnitřní obsah. Uvnitř uzlu se samozřejmě mohou nacházet další uzly a také atributy uzlů, což jsou číselné, řetězcové, pravdivostní a další hodnoty, které určují například tvar objektů. Pomocí uzlu pojmenovaného příhodně Separator a Group lze uzly sdružovat. Následuje příklad zápisu scény: #VRML V1.0 ascii Separator { DirectionalLight { # nastavení osvětlení direction 0 0-1 2

PerspectiveCamera { # nastavení pozorovatele (kamery) position -8.6 2.1 5.6 orientation -0.1352-0.9831-0.1233 1.1417 focaldistance 10.84 Separator { # červená koule Material { diffusecolor 1 0 0 Translation { translation 3 0 1 Sphere { radius 2.3 Separator { # zelená krychle Material { diffusecolor 0 0 1 Transform { translation -2.4.2 1 # posun podle zadanych souradnic [m] rotation 0 1 1.9 #rotace podle dvou os o.9 radianu Cube { #pro krychli bude zvolena výchozí velikost 3.3 Datové typy definované ve VRML 1.0 Při zápisu atributů objektů (3D modelů, světel, kamery apod.) nebo celých skupin objektů se používá několik datových typů. Ve VRML 1.0 je možné pracovat celkem se šestnácti datovými typy, přičemž každý typ atributu vyžaduje jiný datový typ; například nemá smysl popisovat rotaci bool hodnotou nebo jednoduchý atribut, zda válec obsahuje podstavu, zapisovat místo bool hodnoty maticí či vektorem. Datové typy podporované ve VRML 1.0 jsou vypsány v následující tabulce. Názvy typů proměnných by se daly shrnout do těchto pravidel: SF... značí typ proměnné pouze o jedné hodnotě typu z konce názvu: SFLong jendno číslo typu Long, MF... značí MultiField pole o více hodnotách nějakého typu: MFColor pole hodnot více barev (to nevylučuje, že proměnná typu Color se neskládá z více číselných hodnot... ). 3

Označení Poznámka SFBitMask pouze hodnoty 0 a 1 SFBool hodnoty true a false SFColor zápis barvy ve formátu RGB SFEnum interně se jedná o celé číslo SFFloat IEEE float SFImage pixmapa SFLong celočíselná hodnota SFMatrix matice (většinou transformační) SFRotation rotace zadaná čtyřmi hodnotami SFString ve VRML 1.0 většinou ASCII SFVec2f 2D vektor SFVec3f 3D vektor MFColor vektor více barev MFLong vektor více celočíselných hodnot MFVec2f vektor 2D vektorů MFVec3f vektor 3D vektorů 3.4 Typy uzlů definované ve VRML 1.0 Ve VRML 1.0 je definováno celkem 36 typů uzlů, které je možné rozdělit do několika skupin. V první skupině se nachází uzly, které slouží především pro popis geometrie objektů, tj. jejich povrchu (pro mnoho aplikací jsou důležité právě tyto informace). Druhá skupina slouží pro úpravu vlastností objektů či textur. Ve třetí skupině se nachází uzly, pomocí nichž se popisují transformace, čtvrtá skupina obsahuje dva typy uzlů pro vytváření kamer (pozorovatelů) a pátá skupina obsahuje uzly určené pro definici světelných zdrojů. Do další skupiny patří uzly, pomocí nichž se 3D scéna utváří do stromové struktury a konečně je v poslední skupině pouze jeden typ uzlu pro vytvoření hypertextových odkazů a jejich cílů. Následuje výpis názvů jednotlivých typů uzlů rozdělených do skupin. 3.5 Typy uzlů definované v dalších verzích VRML ve své první verzi (1.0) je poměrně chudý jazyk, zejména se to týká způsobu definic objektů, které tvoří aktivní předměty v aplikacích virtuální reality (typickým objektem mohou být dveře, které je možné interaktivně otevírat a zavírat, složitějším objektem pak avatar, tj. objekt představující člověka vstupujícího do virtuální reality). Tyto typy objektů jsou podporovány v dalších verzích jazyka VRML spolu se způsobem definice spouštěčů událostí neboli senzorů. U výše zmíněných dveří by například stačilo nadefinovat dva senzory každý by se aktivoval při doteku kliky. Na vnitřní klice by senzor nastartoval animaci otevření dveří a na opačné straně by se naopak spustila animace zavírání dveří. Lze si samozřejmě představit i složitější typy senzor a událostí, které mohou 4

Popis geometrie objektů AsciiText Cone Cube Cylinder IndexedFaceSet IndexedLineSet PointSet Sphere Vlastnosti objektů Coordinate3 FontStyle Info LOD Material MaterialBinding Normal NormalBinding Texture2 Texture2Transform TextureCoordinate2 ShapeHints Transformace MatrixTransform Rotation Scale Transform Translation Speciální uzel WWWInline Vytvoření pozorovatele (kamery) OrthographicCamera PerspectiveCamera Vytvoření světelného zdroje DirectionalLight PointLight SpotLight Definice hierarchie objektů Group Separator Switch TransformSeparator WWWAnchor při jejich aktivaci nastat. 4 Prohlížeče VRML K prohlížení 3D modelů v jazyce VRML na webu je třeba mít nainstalován mimo standardního internetového prohlížeče i prohlížeč VRML. Bezplatně dostupnými prohlížeči jsou například Cortona, BSPlayer. 5 Příklad modelu Na internetové adrese: http://old.arcdata.cz/igis/ukazky/vrml můžete nalézt ukázku 3D modelu ve formátu VRML, jde o prostředí studentům ČVUT důvěrně známé. Předkládáme několik obrázků pro představu. 5

6

6 VRML na ČVUT, fakultě stavební Zájemce o prozkoumání a naučení se jazyka VRML je možné odkázat na předměty s názvem 175YVR1 a 175YVR2, vyučované na naší fakultě. V prvním semestru (předmět YVR1) je student seznámem s problematikou virtuální reality obecně. V druhém semestru (předmět YVR2) je poté náplní čistě práce s jazykem VRML. Bližší informace budete moci jistě získat u Ing. Vladimíra Hamaty CSc. Závěr Jazyk VRML je jeden z nejvhodnějších způsobů tvorby prostorových modelů pro web. Jeho výhodou jsou zejména: dokument je ve formátu textového souboru, = relativně malý datový soubor (standardem je i určeno, že soubor může být komprimován metodou.gz Způsob zápisu jednotlivých uzlů a jejich vlastností je pro začátečníka poněkud komplikovanější. Velmi dobře se při tvorbě souborů.wrl osvědčil editor VrmlPad[9]. Editor je schopný náležitě nabízet uzly použitelné právě na editovaném místě ve stromové struktuře dokumentu. Názvy uzlů zobrazuje v roletovém menu. V editoru je také možné nechat si graficky znázornit strom celé scény, nebo například propojení příkazů ROUTE mezi jednotlivými uzly a mnoho dalších. Editovat dokumenty.wrl bez toho editoru je velmi složité. Jazyk VRML, jak sám má v názvu, je opravdový nástroj virtuální reality. To znamená, že vytváří virtuální svět kde platí jisté fyzikální zákony. Jako je například gravitace, a kolize objektů (avatara s objekty). Tyto vlastnosti běžně nepřinášejí programy typu AutoCAD či MicroStation. Ty umožňují tvorbu animací (průlet kamerou), ale virtuální realita zajištuje možnost mezi objekty procházet (v reálném čase měnit pozici pohledu na virtuální svět), vytvářet objekty pohyblivé (jedoucí aoutomobil) a reagovat na pokyny uživatele (kliknutí myši na objekt, výskyt avatara v uřčeném prostoru vyvolat akci, pohyb). 7

Literatura [1] Bell, G., Parisi, A., Pesce, M.:The Virtual Reality Modeling Language, Version 1.0 Specification, Silicon Graphics Inc., Intervista Software, 26. 5. 1995 [2] Žára, J., Beneš, B., Felkel, P.:Moderní počítačová grafika, Computer Press, Praha, 1998, ISBN 80-7226-049-9 [3] Zrzavý, J.: VRML, tvorba dokonalých www stránek, podorbný průvodce, Grada Publishing, spol. s. r. o., Praha, 1999 [4] Wikipedia: VRML, přístupné na adrese http://en.wikipedia.org/wiki/vrml, květen 2008 [5] Wikipedia: Web 3D Consortium, přístupné na adrese http://en.wikipedia.org/wiki/web3d_consortium, květen 2008 [6] VRML 97 Specification, přístupné na adrese http://www.web3d.org/x3d/specifications/vrml/iso-iec-14772-vrml97/, květen 2008 [7] Root.cz: Seriál Open Inventor, přístupné na adrese http://www.root.cz/serialy/open-inventor, květen 2008 [8] Root.cz: Seriál Grafická knihovna OpenGL, přístupné na adrese http://www.root.cz/serialy/graficka-knihovna-opengl/, květen 2008 [9] Parallel Graphics: VrmlPad, přístupné na adresy http://www.parallelgraphics.com/products/vrmlpad/, květen 2008 8