Articol 2 Vrml Geometrie Copy

Embed Size (px)

Citation preview

  • Aplicaii n geometrie cu ajutorul VRML

    Abstract In acest articol voi incerca sa prezint un mediu de lucru pentru prelucrarea imaginilor cu ajutorul calculatorului, care desi este utilizat in mediul universitar din Romnia poate fi foarte bine aplicat i n nvmntul preuniversitar la orele de matematica aplicativa.

    Index Terms Cortona, VRML, programare, sintaxa

    I. INTRODUCERE Realitatea virtual este o preocupare constant a cercettorilor precum i a cadrelor didactice de specialitate din lume. Acest concept VRML poate fi extins si in invatamantul preuniversitar, in domeniul matematicii putand fi un real ajutor

    pentru lectiile de geometrie, in special de geometrie in spatiu ajutand elevul sa poata vizualiza corpurile predate la clasa.

    II. CONSTRUIREA UNEI APLICATII VRML PENTRU O LECTIE DE GEOMETRIE IN SPATIU Construirea unei aplicaii VRML presupune de fapt parcurgerea a trei pai obligatorii: - Utilizatorul s dein un browser cu posibiliti de rulare a aplicaiilor VRML. Acest lucru presupune instalarea unei

    aplicaii VRML, n cazul de fa CORTONA. - Un editor de text - O tehnic de programare script Referitor la browserul necesar acesta poate fi Internet Explorer sau FireFox. Aceste dou browsere vin deja echipate cu

    toate elementele necesare pentru a se putea implementa un client de tip Cortona 3D. Instalarea acestui client adaug browser-ului faciliti de navigare VRML.

    Editorul de text utilizat este de regul Notepad, care de regul se dovedete suficient de performant pentru a putea scrie aplicaii complexe. Dupa editare salvarea se va face cu extensia .wrl.

    Dezvoltatorii VRML au pus ns la dispoziia utilizatorilor, pentru aplicaii mai complexe i un editor specializat numit VrmlPad.

    Am optat pentru o structura de tip piramida deoarece este mult mai usor si pentru elevi sa poata face o asemanare intre laturile unei piramide si elemente de geometrie plana.

    TABEL 1 FORME GEOMETRICE PRIMITIVE Paralelipiped Con Cilndru Sfera

    Box { size 2.0 2.0 2.0

    Cone { bottomRadius 1.0 height 2.0 side TRUE

    bottom TRUE

    Cylinder { radius 1.0 height 2.0 side TRUE bottom TRUE

    top TRUE

    Sphere { radius 1.0

    Asa cum se observa, in tabelul de mai sus am enumerat cateva tipuri de corpuri geometrice primitive, insotite de sintaxa corespunzatoare.

    In cele ce urmeaza voi face referire la o reprezentare spatiala a piramidei cu baza dreptunghiulara. Asa cum se cunoaste o astfel de piramida este compusa din 4 laturi triunghiulare si o baza dreptunghi.

    Deci va fi necesar ca descrierea in limbaj VRML sa contina cele 5 elemente constructive. VRML-ul contine in schimb un element de trecere intre forme, fapt care permite evitarea descrierii multiple a unei forme geometrice primare.

    Vom specifica mai intai ca este vorba despre o structura complexa si vom indica planul de reprezentare: #VRML V2.0 utf8

    Shape { geometry IndexedFaceSet { coord Coordinate { point [-3 -3 0, 3 -3 0, 3 3 0, -3 3 0, 0 0 3] } Unde IndexedFaceSet face parte din grupul de structuri geometrice complexe din libraria VRML.

  • Vom indica acum modul de asezare al elementelor geometrice de baza astfel incat sa realizeze structura piramidala. # lista de poligoane, specificate prin indici n # lista de vrfuri coordIndex [0, 1, 3, -1, 1, 2, 3, -1, 2, 3, 3, -1, 3, 0, 4, -1, 3, 2, 1, 0, -1]

    unde cifrele indica coordonatele in care se unesc poligoanele.

    Figura 1 Reprezentare piramida

    In figura 2 putem vizualiza o parte constructiva a piramidei din figura 1.

    Figura 2 Sectiune laterala

    Schimbarile se pot face in sectiunea:

    geometry IndexedFaceSet { coord Coordinate { point [-3 -3 0, 3 -3 0, 3 3 0, -3 3 0, 0 0 3] {

    Exemplu de aplicatie con-cilindru #VRML V2.0 utf8 Shape { appearance Appearance { texture PixelTexture { image 4 4 3 0xFF0000 0xFFff00 0x6666ff 0xFF0000 0x00ff00 0x000000 0x003333 0x00ff00 0xffff00 0x0000ff 0xffcc00 0xFFFF00 0xFFFFFF 0xFFFF00 0x66cc00 0xffff00 } } } Transform { translation 2.8 0.0 0.0 children [ Shape {appearance Appearance{

  • texture PixelTexture { image 2 2 3 0x6666ff 0xffcc00 0x66cc00 0x003333 } } geometry Cylinder { height 2.0 radius 0.8 bottom TRUE top TRUE side TRUE } } ] } Transform { translation 2.8 2.5 0.0 children [ Shape {appearance Appearance{ texture PixelTexture { image 2 2 3 0x66cc00 0x003333 0x66cc00 0x003333 } } geometry Cone { bottomRadius 1.5 height 4.0 side TRUE bottom TRUE } } ] }

    Rezultatul este in figura 3:

    Figura 3

    Modificnd parametrii la linia :

  • Transform { translation 2.8 4.0 0.0 children [ Shape {appearance Appearance{ texture PixelTexture { image 2 2 3 0x66cc00 0x003333 0x66cc00 0x003333

    Vom obtine rezultatul din figura 4, n care se pot vedea clar separarea celor 2 obiecte geometrice primare.

    Figura 4

    Ca i concluzie, putem spune c acest soft poate fi un ajutor util n cadrul lectiilor de geometrie n spaiu oferindu-i elevului o posibilitate n plus de putea viziona n realitate, chiar dac este virtual a elementelor de baz ale acestui obiect.

    Bibliografie 1. Daniel Schneider VRML primer and Tutorial 2. David Nadeau Introduction to VRML 97