1 / 85

Multimédiá – VRML

Multimédiá – VRML. Doc. Ing. Juraj Vaculík, PhD., Mail : juvac@fpedas.utc.sk. 84. VRML súbor.

nuala
Download Presentation

Multimédiá – VRML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multimédiá – VRML Doc. Ing. Juraj Vaculík, PhD., Mail : juvac@fpedas.utc.sk 84

  2. VRML súbor • VRML súbor je textový popis VRML sveta. VRML súbor opisuje ako budovať tvary, kde ich umiestniť, akej farby majú byť atď. Mená VRML súborov sú ukončené príponou *.wrl, ktorá indikuje, že súbor obsahuje VRML svet. VRML súbor môže obsahovať štyri základné typy komponentov : • VRML hlavičku • prototypy • tvary, interpolátory, senzory a skripty • odkazy MM I/2006

  3. Vrml súbor ... Jediná požadovaná položka je VRML hlavička. Bez definície aspoň jedného tvaru však prehliadač nič nezobrazí. VRML súbor môže tiež obsahovať nasledujúce položky : • komentáre • uzly • polia a hodnotypolí • definované mená uzlov • použité mená uzlov MM I/2006

  4. #VRML V2.0 utf8 Group { children [ Shape { appearance DEF Brown Appearance { material Material { diffuseColor 0.6 0.4 0.0 } } geometry Cylinder { height 2.0 radius 2.0 } }, Transform { translation 0.0 2.0 0.0 children Shape { appearance USE Brown geometry Cone { height 2.0 bottomRadius 2.5 } } } ] } Príklad MM I/2006

  5. VRML hlavička • Musí byť na prvom riadku súboru a musí obsahovať presne text podľa syntaxe: #VRML V2.0 utf8 Hlavička objasňuje prehliadaču, že súbor je : • VRML súbor • zhodný s verziou 2.0 špecifikácie VRML • používa medzinárodnú znakovú sadu UTF-8 MM I/2006

  6. Uzly • súbor obsahuje uzly, ktoré opisujú tvary a ich vlastnosti vo VRML svete. Tieto uzli sú stavebnými blokmi VRML. Opisujú tvary, farby, svetlá, pohľady, ako umiestnenie a orientáciu tvarov, časovače pre animácie, senzory, interpolátory atď. Uzly vo všeobecnosti obsahujú : • typ uzla ( požadované ) • pár zložených zátvoriek ( požadované ) • počet polí (voliteľné) a ich hodnoty, ktoré definujú atribúty uzla vo vnútri zložených zátvoriek MM I/2006

  7. Polia a hodnoty polí • Napríklad uzol Cylinder v predchádzajúcom príklade obsahuje všetky tieto položkygeometry Cylinder {   height 2.0   radius 2.0} • Polia definujú atribútyuzla. Poradie polí v uzle nie je dôležité. Polia nie sú v uzloch požadované pretože každé pole má štandardnú hodnotu, ktorá je použitá VRML prehliadačom. MM I/2006

  8. Typy polí (Single/Multi) • S/MBool - logická hodnota – true alebo false • S/MFColor - Skupina troch hodnôt RGB v pohyblivej rádovej čiarke. • S/MFFloat - hodnota pohyblivej rádovej čiarky • SFImage - zoznam hodnôt obsahujúci farby obrázku • S/MFInt32 - integer hodnoty • S/MFNode - VRML uzol. • S/MFString – reťazec znakov uložených v úvodzovkách. MM I/2006

  9. Typy polí ... • S/MFRotation - skupina štyroch hodnôt pohyblivej rádovej čiarky. Prvé tri hodnoty definujú osiotáčania. Posledná hodnota je uholotočenia v radiánoch. • SFTime - absolútny čas meraný v sekundách od 12:00 polnoci, GMT, 1.1. 1970 – reálne • S/MFVect2f 2-D vektor s hodnotami • S/MFVec3f 3-D vektor s hodnotami v pohyblivej rádovej čiarke. MM I/2006

  10. Definícia mien uzlov • Mená môžu byť takmer ľubovoľné sekvencie znakov a čísel. Keď je priradené uzlu meno, potom je možné tento uzol použiť znova neskôr v tomto súbore. Def meno_uzla typ_uzla { .... } • Keď už je definované meno pre uzol, je možné používať tento uzol USE meno_uzla MM I/2006

  11. Popis tvarov • atribútytvaru - geometrie a vzhľadu sú špecifikované hodnotami polí vo vnútri uzla Shape • podporuje viacero typov primitívnych tvarov, ktoré sú preddefinované, vrátane hranola, valca, ihlana a gule ako aj zopár pokročilých tvarov ako extrudované tvary a výškovej mriežky. • Použitím týchto tvarov je možné stavať väčšie a komplexnejšie tvary. Tieto zase môžu byť použité na stavbu ešte väčších tvarov MM I/2006

  12. Zoskupovanie tvarov • Tvary môžu byť zoskupované za účelom budovania väčších, komplexnejších tvarov. • Valec a Ihlan v predchádzajúcom príklade sú zoskupené pomocou uzla Group za účelom vytvorenia tvaru búdy. • Uzol, ktorý zoskupuje skupiny tvarov sa nazýva rodič. Tvary, ktoré tento tvar vytvárajú sa nazývajú potomkovia uzla . • Skupina môže mať ľubovoľný počet potomkov, prípadne iné skupiny - vložená ( zahniezdená) do väčšej skupiny. MM I/2006

  13. Prepojenie uzlov • Aby bol svet dynamický môžu tieto stavebné prvky obsahovať "prepojovacie" časti - popisujú ako prepojiť uzli navzájom tak, aby napríklad stlačením tlačidla myši na tvar bolo možné zapnúť, alebo vypnúť svetlo. VRML prepojovanie umožňuje : • prepojiť navzájom niekoľkouzlov • prepojiťsmer, alebo cestu medzi dvoma uzlami • Keď je vytvorené takéto prepojenie, tak jeden uzol môže posielať druhému uzlu správy. Takéto správy nazývame udalosti. Obsahujú hodnoty, podobné hodnotám polí vo vnútri uzlov. MM I/2006

  14. Vstupy a výstupy uzla • Každý uzol má svoje vstupné a výstupné prvky. Vstup uzla sa nazýva eventIn - prijíma udalosti, keď je uzol pripojený do nejakého obvodu a keď je mu nejaká udalosť zaslaná. • výstup sa nazýva eventOut a posiela udalosti do obvodu ak je k nejakému uzol pripojená. • Podobne ako pri poliach uzlov, každá udalosť eventIn a eventOut má svoj typ. Keď sa špecifikuje prepojenie, typy vstupov a výstupov musiabyťrovnaké MM I/2006

  15. ROUTE Sensor1.isActive TO Illuminator.turn_on ROUTE Sensor2.isActive TO Illuminator.turn_off ROUTE Illuminator.light_changed TO Light1.set_on ukážka Route - prepojenie MM I/2006

  16. Jednoduché tvary • definujú základné grafické objekty a ich geometrické vlastnosti -základné tvary sú: Box,Cone, Cylinder a Sphere. • Každý z týchto uzlov obsahuje jedno, alebo viac polí, ktoré umožňujú špecifikovať atribúty ako rozmery hranolu, priemer gule, alebo výška valca, alebo ihlana. • Všetky tieto primitívne tvary sa pokladajú za pevné (solid). MM I/2006

  17. Základné tvary a textúry MM I/2006

  18. Pokročilétvary definujú grafickéobjekty na základe sady tvarov, bodov alebo čiar: • ElevationGrid, • Extrusion, • IndexedFaceSet, • IndexedLineSet a • PointSet MM I/2006

  19. Uzol Shape • Všetky viditeľné objekty sú definované vo vnútri uzla Shape. Tento uzol má dve polia: appearancea geometry: • pole appearance špecifikuje uzol Appearance ktorý sa používa pre definíciu, farby, textúry, • pole geometry indikuje aký tvar bude nakreslený. Shape { geometry NULL appearance NULL } MM I/2006

  20. Uzol Box • definuje pravouhlý kváder pre ktorý môžeme špecifikovať jeho šírku, výšku a hĺbku. Uzol obsahuje jednoduché voliteľné pole size Box { Size 2.0 2.0 2.0 # field SFVect3f } MM I/2006

  21. Uzol Cone • kužeľ nedefinuje len výšku a polomer podstavy, ale aj ktorá jeho časť sa má zobraziť. Tento uzol obsahuje štyri polia: bottomRadius, height, side, a bottom Cone { bottomRadius 1.0 # field SFFloat height 2.0 # field SFFloat side TRUE # field SFBool bottom TRUE # field SFBool } MM I/2006

  22. Uzol Cylinder • valec povoľuje okrem špecifikácie jeho výšky a polomeru, podobne ako kužeľ, ktorá jeho časť sa má zobraziť. Tento uzol obsahuje päť polí: radius, height, side, bottom a top Cylinder { Radius 1.0 # field SFFloat Height 2.0 # field SFFloat Side TRUE # field SFBool Top TRUE # field SFBool Bottom TRUE # field SFBool } MM I/2006

  23. Uzol Sphere • vytvára guľu a môže byť použitý ako Pole geometry uzla Shape. Uzol má jednoduché pole, ktoré definuje jej polomer. Pole radius je voliteľné, ak nie je definované je použitá preddefinovaná hodnota 1.0. Sphere { Radius 1.0 # field SFFloat } MM I/2006

  24. Uzol PointSet • špecifikuje množinu 3D bodov v lokálnom súradnicovom systéme a asociovaných farbách. Uzol obsahuje dve polia: color a coord. PointSet { coord NULL # exposedField SFNode color NULL # exposedField SFNode } MM I/2006

  25. Uzol IndexedLineSet • špecifikuje množinu lomených čiar - polylines v lokálnom súradnicovom systéme a asociovaných farbách. Uzol obsahuje päť polí: coord, coordIndex, color, colorIndex a colorPerVertex. MM I/2006

  26. Ukážka indexLineSet MM I/2006

  27. Transform { translation . . . rotation . . . scale . . . children [ . . . ] } Transformácie MM I/2006

  28. Transform { # X Y Z translation 2.0 0.0 0.0 children [ . . . ] } Posunutie - translation MM I/2006

  29. Transform { # X Y Z Angle rotation 0.0 0.0 1.0 0.52 children [ . . . ] } Rotácia MM I/2006

  30. Transform { # X Y Z scale 0.5 0.5 0.5 children [ . . . ] } Zmena mierky - scaling MM I/2006

  31. Transform { translation 4.0 0.0 0.0 rotation 0.0 1.0 0.0 0.785 scale 0.5 0.5 0.5 children [ . . . ] } Ukážka transformácie MM I/2006

  32. Uzol Appearance • špecifikuje atribúty vzhľadu : Appearance { material # field SFNode texture # field SFNode textureTransform # field SFNode } MM I/2006

  33. Uzol Material • špecifikuje uzol definujúci materiálové atribúty vzhľadu Material { ambientIntensity 0.2 # field SFFloat diffuseColor 0.8 0.8 0.8 # field SFColor emissiveColor 0.0 0.0 0.0 # field SFColor shininess 0.2 # field SFFloat specularColor 0.0 0.0 0.0 # field SFColor transparency 0.0 # field SFFloat } MM I/2006

  34. Príklad materiálov MM I/2006

  35. Uzol texture - textúry • ImageTexture – definícia obrázku • PixelTexture – definícia bodov • MovieTexture - definícia videosekvencie • image pixels – počet bobov • image data - width, height, bytes/pixel, pixel values PixelTexture {image 2 1 3 0xFFFF00 0xFF0000} MovieTexture { url "movie.mpg" loop TRUE # opakovanie speed 1.0 } # rýchlosť MM I/2006

  36. Appearance { material Material { . . . } texture ImageTexture { url “obrazok.jpg“ } } Textúry - imageTexture MM I/2006

  37. Mapovanie textúr MM I/2006

  38. Transparentné pozadie MM I/2006

  39. Transformácia textúry MM I/2006

  40. Zmena mierky textúry MM I/2006

  41. Zem, malá zem MM I/2006

  42. Zem 3 MM I/2006

  43. Zem 2 MM I/2006

  44. 2-D cross-section - základ 3-D spine - dráha Extrusion { crossSection [ . . . ] spine [ . . . ] . . . scale [ . . . ] orientation [ . . . ] } Uzol extrusion MM I/2006

  45. Extrude po osi MM I/2006

  46. Extrude po kružnici MM I/2006

  47. Extrude po špirále MM I/2006

  48. ElevationGrid { xDimension 0 xSpacing 0.0 zDimension 0 zSpacing 0.0 height [ ] color NULL colorPerVertex TRUE normal NULL normalPerVertex TRUE texCoord NULL ccw TRUE solid TRUE creaseAngle 0.0 set_height } Uzol elevationGrig MM I/2006

  49. UzolLighting - osvetlenie • priame - smerové svetlo – directional light, ak použijeme priame osvetlenie, svetelné lúče sú rovnobežné - toto svetlo nemá definovaný umiestenie - iba smer – v praxi to predstavuje vzdialená zdroj svetla, napríklad slnečné svetlo • vše smerové svetlo – point light - je svetlo umiestené v priestore scény, ktoré osvetľuje všetko okolo neho, svetelné lúče sa šíria vše smerovo od zdroja svetla • bodové svetlo – spot light ... reflektor - tento typ svetla vytvára svetelný kužeľ. MM I/2006

  50. PointLight { location 0.0 0.0 0.0 intensity 1.0 color 1.0 1.0 1.0 } Uzol pointLight MM I/2006

More Related