Documente Academic
Documente Profesional
Documente Cultură
APLICAIE VRML
Generaliti
Denumirea iniial a limbajului a fost Virtual Reality Markup Language.
Specificaiile VRML au fost dezvoltate iniial de ctre firma Silicon Graphics
Inc. (SGI), pornindu-se de la un set de clase care ncapsulau biblioteca de
funcii grafice OpenGL (Open Inventory). Treptat s-a ajuns la dezvoltarea unei
noi tehnologii, numit Virtual Reality Modeling Language. Prima versiune a
limbajului a fost standardizat n anul 1995, i anume VRML 1.0. Cea mai
rspndit versiune este VRML 2.0 (cunoscut i sub denumirea de VRML97),
cea mai important diferen faa de versiunea anterioar constituind faptul
ca lumile VRML 1.0 sunt statice, pe cnd cele create cu VRML 2.0 pot
interaciona cu vizitatorul acestora (interactive). Tehnic vorbind, pentru a oferi
posibilitatea realizrii lumilor 3D dinamice, standardul 2.0 a fost mbogit cu
noi tipuri de noduri i noi concepte, cum ar fi: PROTOtipuri, switchuri, senzori,
scripturi, interpolatori, rute, elemente multimedia (sunete, texturi animate).
Viitorul VRML-ului este vegheat de organizaia Web3D Consortium
(http://www.web3d.org) care a lansat generaia urmtoare a limbajului,
numit Extensible 3D (X3D), adoptat ca standard internaional de ctre
International Organization for Standardization (ISO). Extensible 3D este un
sistem deschis i extensibil pentru descrierea de obiecte i lumi 3D interactive
pe Internet folosind limbajul XML (Extensible Markup Language). Cu toate c
nlocuiete limbajul VRML, vechiul format rmne n continuare suportat. Noul
standard are la baz conceptele de componente i profile. O component
conine unul sau mai multe noduri din aceeai categorie (de exemplu noduri
geometrice, de iluminare etc.). n continuare, aceste componente sunt
grupate n profile, profilul X3D-1 nglobnd componentele de baz pentru
geometrie i animaie, n timp ce profilul X3D-2 reprezint limbajul VRML97
suportnd ntreaga funcionalitate a acestuia. Companiile specializate n soluii
grafice 3D vor putea dezvolta componente i profile interoperabile n vederea
extinderii funcionalitii standardului.
Conform definiiei date de Web3D Consortium:
VRML este un standard deschis pentru 3D multimedia i lumi virtuale
partajate n Internet.
VRML este inclus sau citat n standardul MPEG-4, precum i n Java3D sau
alte standarde de dezvoltare. VRML este utilizat n modelarea aplicaiilor
medicale, modelarea structurilor complexe n chimie (a moleculelor, de
exemplu), n design, arhitectur, jocuri sau publicitate. n seciunea cu
referine bibliografice pot fi gsite legturi ctre sit-uri Web bazate pe VRML.
VRML permite descrierea de obiecte 3D i combinarea lor n scene i lumi
virtuale. El poate fi folosit la crearea de lumi interactive, care s conin:
imagini, animaii, clipuri audio sau video. ntr-o lume VRML utilizatorul i nu
computerul are controlul. Obiectele dintr-o scen pot interaciona unele cu
altele prin evenimente sau pot interaciona cu evenimente utilizator. Lumile
pot fi legate ntre ele sau cu alte documente HTML. O lume creat poate fi
distribuit pe Internet, vzut i explorat interactiv de mai muli vizitatori n
acelai timp.
Noduri VRML
n aceast seciune vor fi prezentate cele mai utilizate noduri n
construcia lumilor virtuale. Deoarece valorile cmpurilor sale pot fi alte
noduri, se spune c este un nod container.
complexe:IndexedFaceSet,
IndexedLineSet,
PointSet,
Extrude,
ElevationGrid.
Animaie n VRML
Evenimente. Rute
Evenimentul reprezint un mesaj trimis de la un obiect la altul prin
intermediul unei rute.
Ruta reprezint conexiunea dintre un obiect care genereaz un
eveniment i un obiect care recepioneaz evenimentul. Evenimentele
semnalizeaz stimuli externi, modificri ale valorilor cmpurilor unui obiect
sau interaciuni ntre obiecte. Un eveniment este alctuit dintr-un timestamp
i noua valoare a unui cmp. Fiecare obiect poate trimite sau recepiona
evenimente.
Prima coloan din definiia unui cmp al unui nod este numit tipul de
interfa i controleaz accesul altor noduri/obiecte la coninutul cmpului
respectiv. Interfaa cmpului poate fi de mai multe tipuri:
field nici un acces;
eventIn acces n scriere; alt obiect poate modifica valoarea acestui cmp,
dar nu o poate citi;
eventOut acces n citire; alt obiect poate citi valoarea acestui cmp, dar
nu o poate modifica;
exposedField acces complet (scriere i citire) asupra valorii acestui
cmp. Cmpurile exposed fields ale unui nod includ evenimentele
set_NUMECAMP (eventIn), generat la modificarea valorii cmpului respectiv i
NUMECAMP_changed (eventOut), prin care se transmite noua valoare unui alt
nod.
Etapele animaiei:
Cronometru
Un exemplu de Timer este nodul TimeSensor. Acesta este un cronometru
care genereaz evenimente time n funcie de viteza calculatorului pe care
este vizualizat documentul VRML (ca urmare nu este un dispozitiv foarte
precis).
Aceste evenimente se comport ca o "pomp intern" care conduce
ntreaga animaie. Pe lng evenimentul time, un nod TimeSensor mai
genereaz i alte evenimente, cum ar fi: fraction_changed, isActive,
cycleTime.
Cele mai uzitate cmpuri ale nodului TimeSensor sunt:
startTime precizeaz momentul n care TimeSensor-ul ncepe generarea
evenimentelor i are valoarea implicit 0;
stopTime precizeaz momentul n care TimeSensor-ul oprete generarea
evenimentelor;
cycleInterval numrul de secunde ale ciclului;
loop implicit FALSE, ceea ce nseamn c senzorul se va opri la sfritul
ciclului; dac ia valoarea TRUE senzorul va rula pn la atingerea timpului
specificat n cmpul stopTime sau la nesfrit, dac stopTime < startTime.