C
Desenarea 3D - crearea obiectelor 3D
Informatiile necesare construirii imaginii unui corp 3D se afla stocate in baza de date. Aceste informatii sunt multimi de puncte ce vor fi proiectate pe ecran, si ordinea in care anumite puncte trebuie unite intre ele. Punctele sunt organizate sub forma de liste de vertexuri (ca la polilinii). Un vertex este un punct de pe suprafata unui model in care se intalnesc doua sau mai multe linii folosite in reprezentarea corpului respectiv. In AutoCAD, lista de vertexuri este delimitata de doua liste: la inceput lista care ne da tipul entitatii (3DMESH, POLYLINE, PFACE - de fapt, numele entitatii va fi 'POLYLINE', diferenta dintre ele facandu-se prin coduri - vezi Anexa), iar la sfarsit o lista de tip 'SEQEND'. Intre aceste doua liste se afla listele corespunzatoare vertexurilor, care contin in principal coordonatele nodurilor respective: 'VERTEX') ( '0') (10 x y z) Un obiect 3D poate fi construit din linii (reprezentare de tip 'wireframe') sau din fatete (portiuni de suprafata), adica prin comanda EXPLODE vom obtine entitati de tip LINE sau 3DFACE. Manipularea si modificarea obiectelor 3D se pot reduce la transformarea coordonatelor unei multimi de puncte (vertexurile). Pentru a vizualiza un obiect in diverse pozitii, la diferite distante fata de observator si a-l modifica dupa o anumita lege, se folosesc transformari globale 3D: translatia, rotatia, marirea sau micsorarea la scara, simetria etc. In general, comenzile AutoCAD de desenare sau editare 2D se pot extinde si la 3D, eventual cu schimbarea sistemului de coordonate (UCS). De exemplu, prin MOVE se poate deplasa un obiect atat in plan, cat si in spatiu; in schimb, o comanda de tipul FILLET, OFFSET sau TRIM nu lucreaza decat in plan, iar pentru a schimba planul de lucru se va folosi comanda UCS. Crearea obiectelor 3D Crearea unui corp 3D presupune introducerea listei de vertexuri (explicit sau pe baza unor reguli si eventual a unor obiecte existente). In cazul entitatilor simple (linii si polilinii), introducerea datelor se face la fel ca la desenarea in plan. Comenzile sunt LINE (inainte exista LINE si 3DLINE; acum LINE accepta si puncte 2D, si puncte 3D) si 3DPOLY, iar sintaxa lor este asemanatoare cu cea de la LINE (in 2D) si PLINE. O retea de linii se creeaza cu comanda 3DMESH, iar entitatea rezultata va fi de tip POLYLINE (putem sa spunem ca este de tip 3DMESH, pentru ca exista diferente intre ea si poliliniile obisnuite). Sintaxa comenzii este: Command:
3DMESH Rezultatul va fi o suprafata de tip 3DMESH (arata ca o plasa de sarma), totdeauna deschisa. Pentru a o inchide, se poate folosi comanda PEDIT, optiunile Mclose si Nclose. In baza de date apare o entitate de tip POLYLINE, care se deosebeste de poliliniile obisnuite prin listele 71 si 72. Lista 71 contine valoarea lui M, iar 72 pe a lui N: 'POLYLINE') (10 0.0 0.0 0.0)
( 3) (72 . 2) ) O entitate de tip 3DMESH poate fi privita ca o matrice, ale carei elemente sunt vertexurile. M reprezinta numarul de linii, iar N numarul de coloane. Comanda 3DMESH este incomoda cand se introduc toate punctele direct, de la tastatura, dar este usor de utilizat prin programe AutoLISP. De exemplu, fisierul FPLOT.LSP, din pachetul AutoCAD; iata o portiune din el: (defun
fplot (fcn xrange yrange res / ce stepx stepy i j x y) Suprafata obtinuta cu 3DMESH este alcatuita din elemente de tip 3DFACE . 3DFACE este echivalentul 3D al comenzii (si tipului de entitate) SOLID. Colturile ei sunt tot vertexuri, unite intre ele prin linii, dar spatiul dintre linii este considerat opac. Poate fi umplut folosind comanda SHADE. Daca am fi desenat o suprafata din linii, am fi obtinut o retea de tip wireframe, asupra careia nu se pot aplica comenzile HIDE si SHADE. O suprafata alcatuita din 3DFACE poate fi obtinuta si cu comanda PFACE, care are sintaxa asemanatoare cu 3DMESH, adica trebuie specificat fiecare vertex, dar nu mai trebuie introduse valori pentru M si N, deoarece fatetele (3DFACE) pot fi asezate arbitrar. Fiecare element al suprafetei poate avea culoarea si stratul diferite de ale celorlalte elemente. Numarul de vertexuri nu este limitat. Pentru fiecare vertex introdus, se vor cere legaturile cu celelalte vertexuri, pentru a forma o fateta. Numarul de laturi ale acesteia nu este limitat decat de numarul vertexurilor. Sintaxa:
Command:
PFACE In baza de date apare tot o entitate de tip POLYLINE, care in listele 71 si 72 va contine numarul de vertexuri si respectiv numarul de fatete pe care acestea le determina. Listele vertexurilor sunt de doua tipuri: intai cele ale vertexurilor introduse, apoi pentru fiecare dintre acestea, mai apare o lista care contine legaturile cu celelalte vertexuri (listele 71, 72, 73 si 74). Numerele care apar in listele de legaturi sunt numerele de ordine ale vertexurilor introduse, aflate la inceputul succesiunii de liste de vertexuri. Daca sunt mai mult de patru laturi, apar in listele 7174 si numere negative, care reprezinta legatura cu lista vertexului urmator sau precedent. Ca si 3DMESH, PFACE este o comanda usor de apelat din programe AutoLISP. Alte comenzi cu care se pot genera suprafete: -
Edgesurf - o suprafata marginita de patru curbe Lista care, in baza de date, este asociata unei linii 3D este aceeasi cu cea asociata unei linii 2D (la care aveam coordonata Z nula). Pentru 3DFACE, intalnim liste de forma: '3DFACE') ( '0') (10 x1 y1 z1) (11 x2 y2 z2) (12 x3 y3 z3) (13 x3 y3 z3) 70 . n) ) unde
10, 11, 12 si 13 sunt constructorii listelor colturilor fatetei, iar lista 70
contine numarul laturii invizibile (poate fi 0, daca toate sunt vizibile): Afisarea desenelor 3D Chiar
cand desenam un obiect tridimensional, ecranul
monitorului este tot plan (aproximativ), deci desenul de pe ecran va fi o
proiectie a obiectului nostru. In general, proiectiile sunt aplicatii care duc
puncte din spatii cu n dimensiuni in spatii cu mai putine dimensiuni. Proiectia
unei imagini pe ecran este o transformare prin care
punctele din spatiul tridimensional sunt duse intr-un spatiu cu 2 dimensiuni.
In AutoCAD se folosesc doua tipuri de proiectii: proiectia paralela si
proiectia perspectiva. Exista doua tipuri de proiectii paralele: Command:
VPOINT Punctul de observare implicit (la inceperea unui desen nou) este (0 ). Proiectia
perspectiva creeaza imagini similare celor obtinute prin fotografiere, mai
realiste decat cele obtinute prin proiectia paralela. CAmera/ TArget/ Distance/ POints/ PAn / Zoom/ TWist/ CLip/ Hide/ Off/ Undo/ <eXit>: Acest prompter va fi repetat pana cand se va opta pentru parasirea comenzii (eXit). Celelalte optiuni vor fi amintite in lista completa a comenzilor AutoCAD. Pentru
a afisa mai multe vederi ale unui corp pe ecran, se
foloseste comanda VPORTS. Fiecare din ferestrele obtinute va
putea contine o vedere a corpului desenat (o proiectie). O modificare facuta
intr-una din ferestre va afecta si celelalte vederi,
pentru ca toate vederile sunt create pornind de la aceeasi baza de date, deci
modificarea bazei de date duce la modificarea tuturor vederilor. Comenzile de afisare (DISPLAY) aplicate unui VPORT nu le afecteaza
neaparat si pe celelalte (doar REDRAWALL si REGENALL afecteaza toate
VPORTurile).
|