Documente Academic
Documente Profesional
Documente Cultură
VIRTUALA
CAPITOLUL 1
Autodesk Inventor
1
Cel de al doilea mod de utilizare este reprezentat de modul „Proiectarea
asamblării” ce face verificarea posibilităţilor de asamblare corectă a părţilor componente
unui proiect sau asubansamblelor utilizate la construirea unui mecanism complex. Acest
mod de lucru face verificarea soluţiilor de asamblare şi permite detectarea poziţiilor şi
metodologiilor optime de asamblare a soluţiilor mecanice, precum şi interferenţa dintre
anumite componente ce nu permit asamblare în ordinea de lucru prestabilită.
Un alt mod de lucru este modul „Cabluri şi Conectică” ce permite designerilor să
proiecteze trasee de cablu, cabluri şi elemente de conectică în mod tridimensional. Tot
prin intermediul acestui mod de lucru se permite importarea de standarde pentru cabluri
şi biblioteci cu elemente (cabluri, conectori) ai diverşilor producători ce permit definirea
şi rutarea traseelor de calcul. Tot prin intermediul acestui mod de lucru al pachetului
Autodesk Inventor se pot calcula parametrii calitativi ai sistemelor electrice, diametrul
mănunchiurilor de fire, raza de îndoire a cablurilor, individuale şi în mănunchi, lungimea
firelor.În acelaşi pachet Autodesk Inventor este integrat şi modul de lucru „Proiectarea
foilor metalice” ce automatizează multe dintre aspecte privind obţinerea de produse
metalice prin ştanţarea, decuparea şi formarea foilor metalice. Proiectanţii pot verifica
posibilităţile de formare, întindere a diverselor materiale şi foi metalice la formele
propuse pentru modelare înainte de proiectarea matriţelor pentru presele de prelucrare.
Un alt mod de lucru al pachetului „Autodesk Inventor” îl reprezintă „Generatorul
de structuri” ce permite proiectarea şi dezvoltarea structurilor asamblate prin sudură.
Acest mod de lucru simplifică modalitatea de asamblare prin sudură a subansamblelor
prin calcularea toleranţelor necesare pieselor ce vor fi asamblate prin sudură.
Un alt mod de lucru al pachetului Inventor îl reprezintă modulul „Tuburi şi
Conducte” ce permite proiectarea 3D a traseelor de tuburi şi conducte în spaţii mici sau
ansambluri complexe folosind standardele industriei şi specificaţiile producătorilor,
pentru elemente de fixare, elemente de îmbinare, tuburi, conducte, ţevi şi furtunuri.
2
Fig.1 Interfaţa grafică de simulare „Autodesk Inventor”
Matlab Simulink
3
Prin intermediul Matlab se pot apela funcţii şi subrutine scrise în limbajul C. O
funcţie de tip „wrapper” este creată pentru a permite tipurilor de date Matlab să fie
transmise şi returnate.
Biblioteci scrise în limbajul” Java” sau standardele „ActiveX” şi „.NET” pot fi
apelate dinmediul Matlab. Mediul Matlab a fost dezvoltat pentru implementarea
pachetului Simulink ce permite utilizarea Matlab prin conexiuni grafice a elementelor
disponibile în toolbox-uri şi realizarea de simulări utilizând doar această metodă de tip
„drag and drop”. Există un număr mare de produse software ale companiei MathWorks
precum şi a altor companii colaboratoare ce extind capabilităţile Simulink şi cuplate cu
componenta Real-Time Workshop, Simulink poate genera în mod automat cod sursă în
limbajul C pentru implementarea în timp real a sistemelor şi verificarea funcţionării
algoritmilor implementaţi în timp real.
4
În cadrul pachetului Matlab Simulink există două toolboxuri importante pentru
simularea sistemelor flexibile de fabricaţie. Primul dintre aceste toolboxuri se numeşte
SimEvent şi este constituit ca o bibliotecă cu blocuri grafice ce permit modelarea
sistemelor de tip coadă şi dispune de un motor de simulare a apariţiei evenimentelor de
tip discret.
O altă bibliotecă ce este recent introdusă în cadrul pachetului şi care este de o
importanţă deosebită în domeniul simulării şi modelării este toolbox-ul VirtualReality
(fig.2.). Prin intermediul acestui toolbox se poate realiza simularea comportamentului
sistemelor şi prototipurilor utilizând tehnici 3D. Tehnica de simulare a toolbox-ului
Virtual Reality se bazează pe tehnologia de simulare VRML.
Tehnologia VRML reprezintă un standard conceptualizat şi oficializat în anul
1997 ce permite realizarea unui mediu tridimensional de simulare interactiv prin definirea
de obiecte cărora li se ataşează atribute (poziţie, culoare, orientare, centru, centru pivot,
iluminare, transparenţa, poziţie ierarhică în lanţul cinematic, formă, legătură URL) ce se
pot modifica on-line de către elementele toolbox-ului Virtual Reality. Prin utilizarea
elementelor toolbox-ului se poate interveni asupra modelelor şi scenei de modelare prin
posibilitatea de modificare a tuturor parametrilor unui obiect.
5
CAPITOLUL 2
1. Introducere in VRML
1.1 Istoric al limbajului
6
- furnizarea de informatii despre scena catre browsere
In 1997 a aparut o specificatie apropiata de VRML 2.0 numita VRML97, iar in prezent se
lucreaza la cea de-a treia versiune a limbajului.
Crearea unui spatiu virtual are similaritati cu procesul de proiectare urmat de arhitecti. In
cartea sa "Towards a New Architecture", Le Corbusier (Charles-Edouard Jeanneret)
defineste arhitectura ca fiind "arta, un fenomen al emotiilor". Manifestul sau, constind din
faptul ca arhitectura se bazeaza pe trei elemente fundamentale, se poate aplica si in cazul
realitatii virtuale.
- masa - lumea este construita din diverse forme (cuburi, conuri, sfere, cilindri, piramide)
avind fiecare o masa;
- suprafata - o masa este "invelita" de suprafata ei, suprafata dind individualitate fiecarei
mase;
- design si functionalitate
- originalitate
- proportie
7
1.3 Criterii de design
Independenta de editor
Perfectionarea
Compunerea
Extensibilitatea
Implementarea
Potentialul multi-utilizator
Ortogonalitatea
Elementele limbajului trebuie sa fie independente unul de altul, iar orice dependenta
posibila trebuie sa fie structurata si bine definita.
Performanta
8
Elementele trebuie sa fie proiectate tinind cont de importanta si de performantele
interactive pe o varietate de platforme (software si hardware).
Scalabilitatea
Standardizarea practica
Elementele VRML trebuie sa suporte aplicatii existente sau macar alte propuneri ce
trebuiesc a fi standardizate.
Structuri bine-definite
VRML suporta un model extensibil care permite definirea de noi obiecte si o inregistrare
a proceselor, suportindu-se astfel dezvoltarea extensiilor inter-operabile printr-o
modalitate standardizata. In acest mod, se asigura o legatura intre elementele VRML si
folosirea uzuala a trasaturilor API (Application Programmer Interface) pentru grafica 3D.
9
2. Noduri VRML
La baza, VRML manipuleaza obiecte, teoretic putin contine orice: forme geometrice 3D,
imagini, sunet. Multimea de baza a obiectelor VRML consta din noduri. Nodurile
formeaza structura initiala a tuturor lumilor VRML si se impart in categoriile (la
versiunea VRML 1.0):
- noduri definind forme geometrice (sfere, solide rectangulare, etc): AsciiText, Cone,
Cube, Cylinder, IndexedFaceSet, IndexedLineSet, PointSet, Sphere
Nodurile sint aranjate in structuri ierarhice numite grafuri de scene, definind ordinea de
reprezentare a nodurilor si folosind notiunile de stare si tranzitie. Exista un mecanism de
limitare a efectelor proprietatilor setate, permitind partitionarea scenelor in fragmente,
fiecare posedind o functionalitate independenta.
Cimpurile definind valori pentru proprietati pot fi de tip simplu (numar, vector, imagine)
sau de tip compus.
10
Tipurile de baza ale valorilor VRML sint: SFBitMask, SFBool, SFColor, SFEnum,
SFFloat, SFImage, SFLong, SFMatrix, SFRotation, SFString, SFVec2f, SFVec3f
(SF=Single value Field) sau MFColor, MFLong, MFVec2f, MFVec3f (MF=Multiple
value Field).
Exemple
Un prim exemplu de lume VRML 1.0 formata din doua corpuri (o sfera violeta si un cub
verde).
Un exemplu mai complex, scris in VRML 2.0, in care putem observa interdependenta
nodurilor de diferite tipuri:
11
S # un con cu fatete umplute cu o imagine 2D geometry Cone AS
S
S
Transform A translation 5 -2.5 0 children Shape A appearance Appearance A material
Material A diffuseColor 0 0 0
S # schimba culoarea (albastru)
S geometry Text A string a"in","VRML"i length ai maxExtent 0.0 fontStyle FontStyle A
family "SANS" # modifica proprietatile fontului style "PLAIN" horizontal TRUE
leftToRight TRUE topToBottom TRUE justify "BEGIN" size 1.0 spacing 1.0
S
S
S
S
12
3. Functionarea unui sistem VRML
- desenarea lumii 3D
13
Arhitectura unui navigator VRML
4.1 Caracterizare
Un mediu virtual distribuit se bucura de urmatoarele caracteristici:
Toti participantii au iluzia localizarii in acelasi spatiu tridimensional (aceeasi camera sau
cladire ori acelasi areal). De cele mai multe ori, spatiul este fictiv, generat electronic, dar
trebuie sa prezinte aceleasi proprietati pentru toti utilizatorii (aspect meteorologic,
acustica, textura etc.)
Fiecare dintre participanti ia forma unei persoane virtuale, numita avatar, care are, printre
altele, asociate urmatoarele:
Un avatar nu trebuie sa posed forma umanoida si un utilizator poate avea asociate mai
multe reprezentari de tip avatar. Nu toti participantii din cadrul mediului virtual trebuie sa
fie controlati de om, o parte dintre avatari putind fi creati de program, avind sau nu
inteligenta artificiala.
- posibilitatea comunicarii
14
Posibilitatile comunicarii includ comunicarea prin gesturi, prin text introdus de la un
dispozitiv de intrare sau prin voce.
- partajarea informatiilor
Mediile virtuale distribuite sint cele mai indicate pentru aplicatii necesitind crearea tele-
prezentei.
4.2 Structura
Un mediu virtual distribuit prezinta urmatoarea structura:
motoare si display-uri grafice (statii de lucru grafice, deseori suportind OpenGL, casti de
vizualizare - head mounted display, ecrane retinale etc.);
retele (rapide, locale: Ethernet, Token Ring sau mondiale: ISDN (Integrated Services
Distribution Network), DSI (Defense Simulation Internet), comunicarea realizindu-se
printr-un protocol special: VRTP (Virtual Reality Transfer Protocol) sau folosindu-se
standardul Living Words).
15
Mediile virtuale distribuite sint, concomitent, sisteme distribuite, aplicatii grafice si
aplicatii interactive, integrind sisteme de baze de date (utile pentru memorarea datelor
persistente care genereaza mediul: forme si localizari de obiecte, texturi, informatii
despre avatari etc.), interactionind cu sisteme tranzactionale (de comert electronic, de
exemplu) si trebuind sa asigure autentificarea utilizatorilor si jurnalizarea activitatilor.
4.3 Origini
Mediilor virtuale distribuite isi au radacinile in:
Unul dintre cele mai cunoscute este SIMNET (Simulator Networking), dezvoltat pentru
DARPA incepind cu 1983 si dat in folosinta abia in anul 1990, jucind un rol destul de
important si in operatiunea "Furtuna in Desert" de peste citiva ani. Scopul proiectului a
fost dezvoltarea unui mediu virtual distribuit ieftin pentru antrenarea unor unitati militare
cu efectiv restrins. Din ideile si succesul lui SIMNET ia fiinta un protocol denumit
Distributed Interactive Simulation (DIS), standardizat in 1993 (IEEE 1278), avind un
ecou rasunator in domeniul militar, dar prezentind unele inconveniente ca numarul redus
de participanti (maxim 300 de utilizatori concomitent), marimea pachetelor de date si
necesitati hardware destul de insemnate (pentru simulari cu un grad mare de realism se
folosesc numai statii SGI). SIMNET si ulterior DIS folosesc o tehnica speciala numita
dead-reckoning pentru evitarea inundarii retelei cu pachete de date.
- jocurile in retea
Una dintre primele incercari de implementare a unui simulator realist o constituie Flight,
conceput initial de Gary Tarolli de la Silicon Graphics Inc. (SGI), simulator de zbor
disponibil in premiera in vara anului 1983 si inclus in software-ul oricarei statii grafice
comercializate de SGI in perioada 1984-1992. Partea de retea a fost adaugata incepind cu
1984, dar utilizatorii conectati la simulator nu puteau interactiona unul cu altul. Acest
lucru este insa posibil la programul demonstrativ Dogfight, limitat initial la 10 utilizatori
din ratiuni de evitare a congestiei retelei. Aceste doua aplicatii au inspirat, peste ani,
dezvoltarea mediilor virtuale distribuite, mai ales prin faptul ca SGI a facut sursele
programelor publice (fragmente din aceste surse au fost folosite pentru proiectul
NPSNET pe care-l vom descrie mai tirziu).
16
- mediile virtuale academice
Unul dintre eforturile timpurii ale comunitatii academice in crearea de medii virtuale
distribuite este concretizat in grupul de cercetare NPSNET, avind la baza citeva proiecte
studentesti ca FOG-M (Fiber-Optically Guided Missile System), VEH (Vehicle
Simulator) si MPS (Moving Platform Simulator), dezvoltate pe statii Unix in perioada
1986-1988.
NPSNET (Naval Postgraduate School Network) a avut mai multe stadii de dezvoltare.
NPSNET-1, a carui demonstratie publica a avut loc la Conferinta SIGGRAPH'91, folosea
un protocol propriu de comunicare si putea rula intr-o retea locala. Au urmat NPSNET-2,
NPSNET-3 si NPSNET-Stealth, cel din urma, operational din 1993, fiind compatibil cu
sistemele SIMNET. Ultima versiune, NPSNET-IV, a continuat sa fie dezvoltata pina in
decembrie 1996, oferind marea majoritate din facilitatile mediilor virtuale distribuite
actuale.
Alt proiect academic este BrickNet, initiat la Universitatea Nationala din Singapore,
rulind pe statii Sun si SGI Indigo, apoi pe PC-uri, fiind creat in 1991 de Gurminder
Singh.
Ce tipuri de informatii trebuie transferate intre sistemele care compun mediile virtuale?
17
Ce protocol trebuie ales pentru realizarea transferului?
Care este arhitectura software de retea pe care poate sa ruleze in conditii optime un astfel
de sistem?
Pentru primele doua intrebari, putem raspunde ca tipurile de date si, respectiv,
protocoalele folosite sint:
- elementele care compun mediul (obiecte, avatari,...) disponibile prin cereri client-server
via HTTP sau VRTP;
Pentru cea de-a treia problema, solutiile se dovedesc a fi multiple. Astfel, vom da in
continuare citeva exemple de medii virtuale distribuite, fiecare cu propria sa arhitectura.
DIS-Java-VRML
Dezvoltat la Naval Postgraduate School (Statele Unite ale Americii), proiectul este
considerat de autorii lui drept model pentru mediile virtuale distribuite bazate pe VRML.
Eforturile proiectantilor s-au focalizat asupra transferului informatiilor despre schimbarile
de stare si interactiunile dintre entitatile care compun mediul, dezvoltindu-se o biblioteca
de clase Java si o arhitectura pentru interschimbul de pachete de date DIS in Internet.
Living Words
Acest proiect este conceput de grupul de cercetare al Consortiului Web 3D (fost
Consortiul VRML), scopul lui fiind definirea unui set de conventii VRML 2.0 pentru
realizarea interoperabilitatii mediilor virtuale distribuite. Living Words nu reprezinta,
asadar, o arhitectura completa a unui mediu virtual efectiv, ci mai mult ofera o serie de
18
standarde privind utilizarea VRML-ului in acest context: suport pentru prezenta virtuala a
mai multor participanti, pentru interactiunea participant-participant sau participant-
sistem, pentru asamblarea dinamica a mediului din diverse componente precum avatari,
modele partajate, camere virtuale si altele. Astfel, sint disponibile biblioteci (abstracte)
continind scene/noduri VRML care pot fi folosite de programatorii si proiectantii de lumi
3D.
blaxxun Interactive - compus din clientii blaxxun Community Client pro si serverele
blaxxun Community Server objects, poseda propriul browser VRML 2.0 oferind suport
pentru applet-uri Java externe;
Sony Community Place - are ca scop asigurarea unor conditii bune de vizualizare a
lumilor 3D virtuale chiar si pentru clientii conectati la Internet prin modem, furnizind
servicii conversationale de tip chat (text sau grafic), interactiunea cu obiecte animate etc.
Serverul si clientii folosesc un protocol special, denumit VSCP (Virtual Society Client
Protocol), bazat pe TCP/IP;
Open Community - mediu virtual distribuit dezvoltat de Mitsubishi Electric Research Lab
(MERL), reprezinta si o biblioteca software oferind servicii precum comunicatiile in
retea, transportul datelor audio si obiectelor VRML in timp-real. Protocolul folosit este
ISTP (Interactive Sharing Transfer Protocol). Sistemul este conceput in limbajul C, dar in
viitor va fi rescris in Java.
19
4.5 Unelte de dezvoltare
Bamboo este un mediu de programare a sistemelor virtuale distribuite, ideea de baza fiind
asigurarea in maniera dinamica a scalabilitatii acestora. Modular, preluind filosofia
Adobe sau Netscape de a utiliza plug-in-uri, Bamboo poate fi adaptat conform dorintelor
utilizatorilor, fiind independent de platforma (se poate incarca masina virtuala Java
(JVM) ca modul, desi aplicatia este conceputa in C++). Partea de retea este preluata de la
ACE (Adaptive Communication Environment), pe baza caruia a fost construit.
Java Shared Data Toolkit (JSDT) este pus la dispozitie de Sun si ofera un cadru de
dezvoltare a aplicatiilor Java colaborative (e.g. suport pentru sincronizarea automata a
zonelor de memorie partajata si definirea de canale abstracte pentru trimiterea si
receptionarea evenimentelor partajate). Utilizind JSDT, se poate implementa complet
HLA RTI.
20
5. Conceperea de aplicatii VRML
Pentru definirea unei aplicatii VRML, trebuie sa avem in vedere sa asigure urmatoarele:
- mecanisme pentru definirea de noi elemente care extind capabilitati pentru alte formate
de fisiere (suportindu-se tipuri suplimentare si forme ale informatiei).
Astfel de decizii sint exprimate ca noduri de tip Script (in VRML 2.0), care receptioneaza
evenimente de la alte noduri, le proceseaza si trimit evenimente la alte noduri. Un nod
Script poate, de asemeni, sa pastreze drumul informatiei intre executii. Aceasta sectiune
descrie mecanismele si semanticile generale pe care toate limbajele script trebuie sa le
suporte.
Un nod Script este activat atunci cind este receptionat un eveniment. In acest punct,
browser-ul executa programul din cimpul url al nodului Script (transferind programul
unui interpretor extern spre executie, daca este necesar). Programul poate realiza o
varietate de actiuni: trimite evenimente (si astfel schimba scena VRML), proceseaza
diverse date, dialogheaza cu diverse servere aflate oriunde in Internet si altele.
21
5.2 Executia scripturilor
Nodurile Script permit autorului de lumi VRML sa insereze diverse proceduri de calcul in
mijlocul unui eveniment cascada. Scripturile faciliteaza de asemeni autorului de lumi sa
genereze un eveniment cascada atunci cind un nod Script este creat sau, in unele limbaje
script, la un moment arbitrar.
Initializate si Shutdown
Limbajul script poate defini o metoda initializate (un constructor), aceasta metoda fiind
apelata inaintea oricaror evenimente care sint generate. Evenimentele generate prin
metoda de initializare trebuie sa aiba timpul mai mic decit al oricarui eveniment emis de
nodul Script.
EventsProcessed
Se poate defini o rutina eventsProcessed, care este apelata dupa ce unul sau mai multe
evenimente sint receptionate. Metoda eventsProcessed poate prezenta un caracter
nedeterminist. Pentru un singur eveniment cascada, rutina eventsProcessed a unui nod
Script dat poate fi apelata cel mult o singura data. Evenimentele generate de o rutina
eventsProcessed sint date de timpul ultimului eveniment procesat.
Scripturi asincrone
Unele limbaje suportate de browser-ele VRML pot permite nodurilor Script sa genereze
spontan evenimente, facilitind crearea de noduri Script avind diverse functii cum ar fi un
nou nod sensor (al carui rol este sa interactioneze cu utilizatorul). In acest caz, scriptul
genereaza un eveniment initial care cauzeaza un eveniment cascada si limbajul script
si/sau browser-ul vor determina un timp de inceput apropiat pentru acel eveniment initial.
Astfel de evenimente sint apoi sortate in cadrul fluxului de evenimente si procesate ca
oricare altele, urmind aceleasi reguli pentru circuitele de modificare a scenelor VRML
etc.
22
protocol (care permite specificarea unui tip MIME) sau "Scripting Language Protocol"
(protocolul limbajului script).
Exemplu:
DEF CYCLE Script A eventIn SFTime touchTime field SFInt32 number 2 eventOut
SFInt32 output url "javascript: function initialize() A // constructor output = 0;
S function touchTime(value, time) A if (output == number - 1) output = 0; else
++output;
S
"
S
Cimpurile, evenimentele de intrare si evenimentele de iesire ale unui nod Script sint
accesibile din cadrul functiilor limbajului script. Cimpurile definite in nodul Script sint
disponibile scriptului printr-un mecanism specific limbajului (de exemplu, o variabila
membru este automat definita pentru fiecare cimp si eveniment ale nodului Script).
Valorile cimpului pot fi citite sau scrise si sint persistente de-a lungul apelurilor functiei.
Evenimentele de iesire definite in nodul Script pot fi, desigur, accesate: valoarea primita
este ultima valoare trimisa. Scriptul poate avea acces, de asemeni, orice eveniment al
oricarui nod la care are un pointer. Sintaxa acestui mecanism este dependenta insa de
limbajul folosit.
- SFFloat getCurrentSpeed();
23
Se returneaza viteza cu care viewpoint-urile (punctele de vizualizare) VRML sint
translatate, in metri pe secunda. Daca viteza de deplasare nu este semnificativa sau daca
viteza nu poate fi determinata din diverse motive, este returnata valoarea 0.0.
- SFFloat getCurrentFrameRate();
- SFString getWorldURL();
Metoda loadURL incarca url-ul cu parametrii trimisi. Aceasta metoda returneaza imediat,
in cazul in care URL-ul este incarcat in aceeasi fereastra a browser-ului (nu este nici un
parametru TARGET redirectat la alt frame). Lumea curenta va fi oprita si inlocuita cu
datele de la noul URL la un moment din viitor.
Metoda seteaza descrierea pentru lumea VRML curenta. Acest mesaj va fi afisat intr-o
maniera ce depinde de browser. Pentru a sterge descrierea curenta, se specifica un sir vid.
Metoda proceseaza un sir constind dintr-o descriere a unei scene VRML, analizind
nodurile continute in scena si returnind radacina nodurilor corespunzatoare scenei
VRML.
24
void addRoute(SFNode fromNode, SFString fromEventOut, SFNode toNode, SFString
toEventIn); si void deleteRoute(SFNode fromNode,SFString fromEventOut, SFNode
toNode,SFString toEventIn);
Aceste metode adauga si respectiv sterg o cale intre numele evenimentelor date pentru
nodurile date.
Exemplu
Ilustram cele afirmate mai sus prin urmatorul exemplu preluat din specificatia VRML97:
# definirea prototipurilor
PROTO Shuttle a # cimpuri publice field SFTime rate 1 field SFFloat distance 1 field
MFNode children a i exposedField SFTime startTime 0 exposedField SFTime stopTime 0
field SFBool loop TRUE
iA
DEF F Transform A children IS children S
DEF T TimeSensor A cycleInterval IS rate startTime IS startTime stopTime IS stopTime
loop IS loop
S
PROTO Pendulum a field SFTime rate 1 field SFFloat maxAngle 3.14159 field MFNode
children a i exposedField SFTime startTime 0 exposedField SFTime stopTime 0 field
SFBool loop TRUE
iA
DEF F Transform A children IS children S
DEF T TimeSensor A cycleInterval IS rate startTime IS startTime stopTime IS stopTime
loop IS loop
25
S
DEF S Script A field SFFloat maxAngle IS maxAngle eventOut MFRotation rotation
26
5.3 Extensii ale navigatorului VRML
27
Aplicatia a fost realizata cu ajutorul unui editor numit VRML Pad, iar pentru vizualizarea
ei se poate folosi un plug-in precum Cortona VRML Client sau World View. In principiu,
interfata unui plug-in VRML pentru navigatorul Web este compusa din doua parti
distincte:
Toolbar-urile:
- toolbar-ul vertical care contine butoane folosite pentru a specifica tipul navigarii prin
lumea VRML.
Exista de asemenea meniuri pop-up contextuale care pot fi accesate apasind butonul drept
al mouse-ului in timp ce cursorul este deasupra toolbar-urilor sau a ferestrei 3D.
A te misca in spatiul 3D este similar cu a misca o camera video. Astfel, ne putem gindi la
o camera video care captureaza imagini din lumea reala si le transforma in semnale
electronice pentru a fi vizualizate pe ecran; camera video poseda o pozitie si o orientare si
acestea sint atribute independente. Se pot folosi comenzile camerei situate pe toolbar-ul
vertical pentru a misca aceasta camera in spatiul tridimensional. Acesta simuleaza
existenta unei persoane reale care vede si interactioneaza cu lumea VRML.
Programatorul VRML poate plasa in lumea virtuala oricite camere doreste - locuri
interesante de unde utilizatorul ar dori sa vada lumea. Doar o camera poate fi activa la un
moment dat.
Structura aplicatiei
Aplicatia este impartita in patru lumi distincte: holul, sala de calculatoare RP1,
secretariatul si decanatul. Celor patru lumi le corespund fisierele: hol.wrl, rp1.wrl,
secretariat.wrl, respectiv decanat.wrl. Trecerea de la o lume la alta se face dind click pe
usa respectiva. In momentul in care cursorul este pozitionat pe una din aceste usi, se va
activa un Anchor. In acel moment apasind butonul sting al mouse-ului se va realiza
trecerea in alta lume.
28
Anchor A children a
USE usa
i url "rp1.wrl"
S
Structura fisierelor este una arborescenta, de pilda fisierul rp1.wrl importa noduri din
fisierele proba.wrl si pereti.wrl.
Fisierul proba.wrl reprezinta o masa care are trei calculatoare si trei scaune, si in fisierul
rp1.wrl este importat de doua ori. Fisierul pereti.wrl reprezinta incaperea propriu-zisa,
adica trei pereti pe care se afla si o tabla, si un perete de sticla, utilizind diverse texturi.
Peisajul care se observa prin geamul de sticla al laboratorului RP1 este realizat in
pereti.wrl, iar codul lui se prezinta mai jos:
Background A groundColor a0.21 0.66 0.17, 0.21 0.66 0.17i groundAngle 1.5 skyColor
a0.42 0.63 0.89, 0.42 0.63 0.89i skyAngle 1.64 backUrl "img\back.jpg" frontUrl
"img\back.jpg" rightUrl "img\back.jpg" leftUrl "img\back.jpg" bottomUrl "img\floor.jpg"
La rindul sau, fisierul pereti.wrl foloseste fisierele neon.wrl si usahol.wrl, iar proba.wrl
utilizeaza fisierele monitor.wrl, tasta.wrl, masa.wrl, scaun.wrl si pc.wrl.
29
Un calculator virtual (modelat in VRML)
7. Viitor
Deja realitatea virtuala este utilizata, inglobata sau nu in alte tehnici de reprezentare a
informatiei, in domenii precum arhitectura, educatia, medicina, ingineria ori sociologia si
divertismentul. Creatiile VRML prezente deja pe Web pot fi incadrate intr-un curent
artistic denumit environmental art.
Spatiul cibernetic poate deveni viitorul laborator al omului de stiinta, viitorul simulator
cibernetic al inginerilor, viitorul amfiteatru al studentilor. Daca inca nu exista suficiente
instrumente menite a construi lumi 3D sofisticate, tehnici precum telesenzatia (summum
al realitatii virtuale, computer vision, grafica computerizata si telecomunicatii) ofera
premisele reprezentarii informatiilor intr-o forma familiara, facila si complexa.
Credem ca limbajele de marcare se vor apare in urmatorii ani vor oferi modalitati de
manipulare inteligenta a datelor universului nostru uman transpus in spatiul cibernetic
aflat in continua transformare si expansiune.
30
31