Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Program care permite manipularea unui obiect 3D complex

calculatoare



+ Font mai mare | - Font mai mic



PROIECT



Grafica

PROIECT

Program care permite manipularea unui obiect 3D complex.

Obiect 3D ales : o masa clasica

CERINTE MINIME PROIECT GRAFICA

Model 3D propriu - descriere incepand cu faza de creare

Descrierea lantului de transformari folosit (figura si in cuvinte)

FARA listarea codului in proiect

Incarcare din fisier a modelului, posibilitate de salvare in fisier in orice moment, cu posibilitatea de alegere a locatiei si numelui fisierului

Coordonatele vor fi pastrate nealterate, fiecarei tip de transformari asociindu-i-se o matrice ce va contine la un moment dat toate transformarile de acel tip (ex. modelare-simulare) efectuate asupra scenei de la incarcarea modelului

Pentru toate operatiile ce necesita parametrii, fereastra de dialog de unde se iau acesti parametrii

Toate operatiile implementate in meniuri in functie de tip. O operatie nu este activa decat cand apelarea ei are sens

Toate transformarile se realizeaza cu matrici (omogene)

Translatie - dupa orice directie - se cere la alegerea operatiei

Rotatie - dupa Ox, Oy, Oz cu orige unghi- se cere la alegerea operatiei

Forfecare - dupa orice axa - se cere la alegerea operatiei; se defineste functia de forfecare

Scalare - cu orice parametrii pe fiecare axa- se cere la alegerea operatiei

Simetrie - dupa orice axa - se cere la alegerea operatiei

Implementarea tuturor tipurilor de proiectii (elevatia planul, profilul, oblica - se cere pr1 si pr2 la alegerea operatiei -, cavaliera dupa fiecare plan- se cere alfa -, cabinet dupa fiecare plan - se cere alfa -, proiectii perspective pe plane paralele cu planele sistemului de coordonate - se cere distanta de plan la alegerea operatiei -, transformarea elevatie, transformarea plan, transformarea profil, transformarea paralela generalizata, transformarea cavaliera dupa fiecare axa, transformarea cabinet dupa fiecare axa, transformarea perspectiva fundamentala dupa fiecare plan - se cere f la alegerea aplicatiei -, ) - se cere intai la initializare si se poate modifica din meniu

Doua tipuri de zoom, doua tipuri de panoramare

Toate functiile au posibilitatea de a fi comandate din tastatura

Toate functiile vor fi implementate intr-o biblioteca dll si apoi importate in proiectul principal

Cate doi algoritmi de clipping pentru linii si poligoane - se cere intai la initializare si se poate modifica din meniu

Miscarea scenei si a observatorului

OPTIONAL: Rafinare

DESCRIEREA MODELULUI SI A LANTULUI DE TRANSFORMARI FOLOSITE

      Modelul 3D ales este o masa clasica, realizata in 3D Studio Max 2008, si exportata ca fisier .OBJ. Pentru a putea fi folosit de program a fost necesara o conversie a trinughiurilor din fisierul .OBJ in linii (codul sursa al programului care realizeaza conversia este atasat proiectului). Astfel rezultatul este un fisier .txt care contine pe prima linie numarul de puncte, apoi coordonatele acestora (fie cate o coordonata pe rand fie cate 3, aranjarea lor este indiferenta) apoi numarul de linii si liniile sub forma "varf 1->varf 2" ;

      Programul realizeaza urmatoarele operatii asupra modelului 3D :

Translatie

Translatia face parte din categoria transformarilor de miscare. Ea modifica pozitia unui model fata de un reper considerat fix, fara a afecta orientarea unghiulara a acestuia.

Translatia poate fi descrisa ca un vector liber T ce va uni fiecare punct sursa cu imaginea sa prin translatie. Acest vector poarta numele de vector de translatie, iar instanta sa legata in origine are componentele tx, ty si tz

Se realizeaza dupa formulele:

, tx,ty,tz sunt componentele vectorului translatie tridimensional instantiate in origine.

Matricial se poate scrie :

=+

Sau : [C']3D=[C]3D+[T]3D , [C']3D=[C]3D+[T(tx,ty,tz)]3D

Rotatie in jurul axei oz

Rotatia face parte din categoria transformarilor de miscare. Ea modifica orientarea unghiulara a unui model fata de un punct considerat fix. In cadrul unei rotatii exista cel putin un punct care nu isi modifca pozitia. Daca el este unic atunci el poarta numele de centru de rotatie iar roratia se numeste rotatie spatiala. Daca nu, punctele care nu isi modifica pozitia apartin unei drepte numite axa de rotatie, iar rotatia este plana

Rotatia se realizeaza asa cum s-a prezentat aceasta in lucrarile de laborator si cartea de curs, in program fiind folosita rotatia in jurul axei oz folosindu-se formulele dupa cum urmeaza:

fscanf(f,'%d',&n);

fprintf(g,'%dn',3*n);

for (int i=1;i<=n;i++)

fclose(f);

fclose(g);



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1648
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved