virtualitate reală

Vă mulțumim pentru sprijinul acordat!

Rătăcind prin întinderi de Internet, în mod constant riscând să curgă într-un obiect care poate distruge cu ușurință o mulțime de timp de rețea atât de rare și personale, totuși atât de scump. O astfel de „gaură neagră“ colțuri virtuale, fără îndoială, cunoscut pentru oricine care a făcut cel puțin câteva Walker, ca să nu mai vorbim de profesionist surferi și urmăritori rețea. Oamenii sunt creaturi ciudate - ele fac chiar și diagrame speciale dedicate unui loc ca acesta vremyaubiystva periodice. Da, te cunosc foarte bine fiecare Remblerov si alte top 1000. Pe de altă parte, încă nu a fost încercarea de a crea hit-uri tehnologii Internet, care pot în mod eficient și pe scară largă pentru a distruge timpul personal. HTML, MP3 și ... și să facă o notă de VRML în top cinci!

VRML: abreviere pentru Virtual Reality Modeling Language (pentru YAMVR intern, Virtual Reality Modeling Language). Limbajul standard pentru a descrie scene tridimensionale care conțin obiecte, precum și posibilele interacțiuni între obiecte și observator. Scopul principal - pentru a descrie un set de obiecte (scenă) într-un sisteme de realitate virtuală. Principal la momentul aplicării - reprezentarea informațiilor statice și interactive pe internet, sub forma diverselor obiecte care conțin mediul virtual tridimensional. Există trei versiuni comune ale limbii: VRML 1.0, 2.0 si VRML 97. In prezent, versiunea cea mai larg acceptată este VRML 2.0. Dezvoltarea limbajului este coordonat de arhitectura VRML (în funcție de alte surse de consultanță) Group (traducere - Architecture Group din VRML), cunoscut sub acronimul VAG.

Ce a făcut băieții?

Sunt eu, desigur, suficient peste margine. Ceea ce a făcut băieții și fetele sunt cunoscute tuturor, din timpul copilăriei fericită și poezie pentru copii discrete lui. Calculator ca băieți și fete, după cum știți, a făcut din triunghiuri pictate. Dar ceea ce este în VRML, acum vom încerca să aflăm. Deci, trebuie să ne asigurăm punerea în aplicare a două acțiuni cheie:
  1. Descrie lumea virtuală.
  2. Pentru a arăta lumii utilizatorului, permițându-i să interacționeze cu acesta.

Noi rezolva aceste probleme, pentru a se încerca în rolul dificil al creatorilor VRML. Primul pas este de a crea o structură de informații care descriu lumea. Extrem de flexibil și convenabil (pentru utilizator sau matematica, dar nu pentru programator pune în aplicare de prelucrare a acestuia) structura - Earl. Ie un set de noduri (în termeni VRML - nod) completate cu informații privind legăturile dintre ele. Unitățile similare cu structura de date convențională, ele conțin câmpuri (câmpuri) și evenimente (evenimente). Legăturile între noduri sunt implementate folosind câmpurile cu un tip de indicator (la fața locului). De fapt, evenimentele reprezintă, de asemenea, un pointer la un obiect capabil să genereze aceste evenimente, sau de a percepe, pe care le împarte imediat în două tipuri -, respectiv de ieșire (EventOut) și intrare (EvevnIn).

Datorită acestui concept, The VRML, fără îndoială, poate fi considerat un limbaj orientat pe obiect. Toate acestea mizerie, prezentat schematic în figura 1, în cantitate de descriere a lumii *. în sens VRML. Câmpurile Câmpul 1 și 2 reprezintă parametrii primari (de exemplu, culoarea sau un punct în spațiu tridimensional), Câmpul 3 este un set de indicii pentru alte noduri și eveniment Eveniment 1 furnizat de două noduri.

* Din punct de vedere al abordării funcționale este mai corect să vorbim descrierea scenei sau a lumii, dar când ne vom ocupa în limbajul de programare VRML, vom folosi numele unui program de procedură.

tehnologia VRML

Descrierea lumii virtuale tridimensionale, capacitatea de a interacționa cu obiecte.

După care, tipurile primare sunt finalizate cu succes.

Nodurile, link-uri, și toate toate toate ...

Acum, să vedem restul. Limba principală a obiectului - nod. fișier VRML (program) este format dintr-un număr de prototipuri (definiții ale noilor tipuri de noduri), un anumit număr de unități. completate cu informații concrete și de cel puțin un anumit număr de comunicări legate de eveniment între nodurile. Toate aceste elemente pot fi aranjate în orice ordine.

Copii ale nodurilor sunt descrise și sunt completate după cum urmează:

<Название существующего типа> <
<тип поля> <значение>
...
>

În cazul în care vă traseu special cuvânt permite setarea trimiterea automată a unui anumit eveniment de ieșire la un nod la un alt eveniment de intrare specifice. De asemenea, puteți crea copii imenovanyye noduri, cu posibilitatea utilizării simultane în mai multe locuri în program:

DEF <Имя узла> <Экземпляр узла>

Un astfel de nod numit poate fi apoi utilizat de un alt cuvânt cheie:

Se umple, de exemplu, un nod de ancora de tip predeterminat, demonstrând în același timp utilizarea inseparabil cuplu DEF / USE.

obligatorie pentru toate programele VRML 2.0, obținem un dosar complet care „KakVamUgodno.wrl“ poate fi numit deschis în browser-ul corespunzător și chiar faceți clic (mingea roșie). Până în prezent, ne-am ocupat, limbaj, tipuri de noduri predefinite de ancorare. Forma. Sferă și material. Dar, dacă așa dorim, putem defini cu ușurință un nou tip de nod. Acest lucru se face după cum urmează:

PROTO <Название нового типа> [
<классификатор>
...
] <
<Экземпляр узла на основе которого строится новый тип>
<Экземпляры других используемых узлов>
<Описание пути событий>
<Прототип>
...
>

Qualifier identifică fiecare membru individual al noului tip de nod. Următoarele calificative:

câmp <Тип> <Имя> <Значение>

câmp de date medii

câmp de date care răspunde la evenimente (exposedField) generează eveniment care își încetează activitatea <Имя поля>_changed. care este generat atunci când valoarea câmpului în orice fel și a stabilit un eveniment de intrare _<Имя поля>, generatoare care valoarea câmpului poate fi modificată. Desigur, tipul de date al evenimentului se potrivește cu tipul de service sau câmp. Proto Operatorul paranteze este dat o nouă interfață de tip nod (disponibil pentru utilizarea de câmpuri și evenimente), iar buclat descrie punerea sa în aplicare. Evenimentele reprezintă datele de orice tip, transmise de la un nod la altul. Mai mult decât atât, stabilirea căilor de transmisie are loc în traseu special de cuvinte cheie.

ROUTE <Имя узла>.<Имя исходящего события> LA <Имя узла>.<Имя входящего события>

Aici este un exemplu de utilizare ROUTE - astfel încât meu preferat bilă roșie, care emite un sunet atunci când se ciocnește cu observatorul:

În mod similar, se poate construi cu ușurință dificil ierarhia obiectelor legate, în care o schimbare în oricare dintre nod parametru determină răspunsul imediat al întregului sistem. Împins zarurile și sa mutat cu el și mingea, și așa mai departe ... Aici este un mic program VRML, demonstrează nu numai definiția de noi tipuri de unități, dar alte caracteristici ale limbii:

Această definiție a unui nou tip de nod - scaune cu două culori. Acesta are două câmpuri determină culoarea scaunului și a picioarelor, respectiv. Să aruncăm o privire mai atentă la folosit pentru a crea nodurile:
  • Transformare - efectuează transformare geometrică a copiilor lor, cum ar fi modificarea, rotirea sau scalarea.
  • Forma - obiect vizibil constă într-o descriere a parametrilor săi geometrie și afișare, cum ar fi textura materialului, etc.
  • Caseta. Cilindrul - un dreptunghi și un cilindru, respectiv.
De asemenea, ne-am întâlnit noul operator IS.
  • <Имя поля> IS <Имя поля декларируемого типа узла>
  • <Имя события> IS <Имя события декларируемого типа узла>

Care vă permite să lega parametrii și mesaje de noduri care alcătuiesc punerea în aplicare a tipului care le-am creat, cu parametrii de interfață și mesaje.

Aici, vom defini un nou tip de XForm Transformarea nod care în afară de cele descrise deja scaune noastre (albastru cu picioare verzi, figura 2) cuprinde un senzor de atingere TouchSensor. genereaza un eveniment atunci când browser-ul de pe scaun nostru faceți clic pe mouse-ul (adică atingere) și cronometrul TimeSensor. Cronometrul este configurat în așa fel încât generează în mod constant eveniment fraction_changed a cărui valoare variază de 0 - 1 timp de două secunde. De asemenea, utilizat nod OrientationInterpolator. interpolarea SFRotation valoare tip de masă în funcție de fracțiunea de teren. Apoi, construite în mod adecvat de interacțiune între senzorul de atingere, un cronometru, iar scaunele interpolator de poziție transformator (trei traseului). În cele din urmă am primit obiectul (în acest caz, un scaun, dar în locul său poate fi un nod de orice tip predeterminat) capabil să se întoarcă în două secunde dacă la atins. Hut, colibă, stau la monitor ... Ultima linie ia browser-ul pentru a merge la obiectul de modul de studiu, în care observatorul nu se mișcă, ci pur și simplu vede și atinge subiectul.

Un mic follow-up la exemplul nostru demonstrează utilizarea Java Script (pentru a fi corectă - ECMA Script) în programele VRML:

Și astfel, cu ajutorul Script nodului de pre-definite avem posibilități aproape nelimitate în determinarea regulilor prin care să trăiască lumea noastră. În acest exemplu, vom face scaun noastre se schimba ciclic dimensiunea (respirație), în timp ce cursorul este peste ea browser-ul, indiferent dacă ne-am atins-o sau nu. În acest scop, evenimentul descris mai sus folosit ISOVER nod TouchSenser, receptiv la situația cu cursorul mouse-ului, temporizatorul generează de 20 de ori un al doilea eveniment cycleTime și un mic script care creează scara, care este apoi aplicată obiectului.

Suplimente

Clienții sunt întotdeauna dreptate

Toți clienții au interfață destul de asemănătoare. De obicei, navigarea este un manipulator, cum ar fi un mouse, și există câteva ușor pentru a comuta între moduri:
  • Mișcarea înainte și înapoi și viraje la stânga și la dreapta
  • Se deplasează în sus și în jos și dreapta-stânga
  • Se aprinde în sus și în jos și dreapta-stânga
  • mișcarea automată a obiectului menționat
  • Trecerea la un punct predeterminat de vedere
  • Posibilitatea de a „atinge“ obiectul

Aceste acțiuni sunt standard pentru aproape orice program client. Voi descrie două dintre cele mai de succes, pe scară largă și cu entuziasm concurente browser-ul compatibil cu VRML 2.0.

Cosmo Software - Cosmo jucătorului:

Microsoft VRML 2.0 vizualizator:

Dezvoltatorii Cu toate acestea, axa (IBM OS / 2) este, de asemenea, nu uitați: firma Acum Interprises dezvoltat OS / 2 VRML vizualizator.

În cazul în care frumos omori timpul

Asigurați-vă că pentru a verifica site-ul web al companiilor românești ParallelGraphics

concluzie

În acest moment, VRML este doar o jucărie, deși foarte promițătoare. Acesta va fi de ani înainte de interfața tridimensională va deveni o realitate, la fel ca în cazul rețelelor și a sistemelor de operare. Nimic nu se poate face, oamenii sunt prea conservatoare. Da, tehnologia evoluează. Dar această tehnologie. Oamenii se dezvolta mai lent ...

În prezent, piața este dominată de trei browser-ul VRML următoarele programe:
  1. Blaxxun Contact 4.3 (www.blaxxun.com) - suport suprafețe spline (NURBS), versiuni cu suport DirectX / OpenGL, PIII-optimizare a clientului calcule geometrice pentru multi-user VRML lumi;
  2. Cortona VRML client 2.1 (www.paragraph.ru) - suprafețele de sprijin spline și spline (NURBS), suport pentru Macromedia Flash, și tehnologie video Real, grafica API DirectX / OpenGL, EAI2 sunet, PIII-optimizare, versiunea de client pentru multi-user VRML lumi;
  3. CosmoPlayer 2.1 - DirectX / OpenGL

Iar echipa de programatori care au scris CosmoPlayer, nu mai există, iar produsul nu pare să fie dezvoltate în continuare.