Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» Editarea suprafetelor 3D pornind de la desene 2D


Editarea suprafetelor 3D pornind de la desene 2D


Editarea suprafetelor 3D pornind de la desene 2D

2.3.1. Generalitati

Una din modalitatile de a realiza un desen 3D consta in desenarea in plan si mai apoi cu comenzi specifice sa se transforme acest desen intr-o reprezentare in trei dimensiuni. Metoda nu este greoaie, dar nu este apropiata de realitate. In schimb comenzile de multiplicare si rotatie prezentate in acest subcapitol sunt foarte utile nu numai in cazul suprafetelor ci si in cazul solidelor.

Prezentam in continuare aceste comenzi.

2.3.2. Comenzile ELEV si CHANGE



Comanda ELEV permite introducerea elevatiei (altitudinii) si adancimii unui obiect. Comanda nu este valabila retroactiv, ea avand efect numai dupa apelarea sa.

Unui obiect plan i se poate atribui o altitudine si o adancime (fig. 1) astfel incat el sa se transforme intr-o suprafata. Dialogul comenzii este: Command: ELEV

Specify new default elevation <0.0000>: se introduce altitudinea

Specify new default thickness <0.0000>: se introduce adancimea

Daca ne propunem, de exemplu, sa realizam o masa cu trei picioare si blat rotund, picioarele avand dimensiunile 50x50x800, dispuse echidistant pe un diametru de 600, iar blatul mesei cu diametrul de 800 si grosimea de 20, vom proceda in felul urmator:

- vom construi cu altitudine 0 si adancime 800 trei patrate dispuse echidistant pe un cerc de diametru 600 (Command: elev; Specify new default elevation <0.0000>: 0; Specify new default thickness <0.0000>: 800; Command: LINE; Specify first point: -12.5,-12.5; Specify next point or [Undo]: @50<0; Specify next point or [Undo]: @50<90; Specify next point or [Close/Undo]: @50<180; Specify next point or [Close/Undo]: c;

Command: array; Select objects: all; Select objects:; Enter the type of array [Rectangular/Polar] <R>: p; Specify center point of array: 0,300; Enter the number of items in the array: 3; Specify the angle to fill (+=ccw, -=cw) <360>:; Rotate arrayed objects? [Yes/No] <Y>: y; ).

- vom construi cu altitudine 800 si adancime 20 un cerc plin (Command: elev; Specify new default elevation <0.0000>: 800; Specify new default thickness <800.0000>: 20; Command: donut; Specify inside diameter of donut <0.5000>: 0; Specify outside diameter of donut <1.0000>: 800; Specify center of donut or <exit>: 0,300; Specify center of donut or <exit>:;)

- vom vizualiza constructia din punctul 1,1,1 si vom ascunde partile entitatilor ce se afla in spatele altor entitati (Command: vpoint; Current view direction: VIEWDIR=0.0000,0.0000,1.0000; Specify a view point or [Rotate] <display compass and tripod>: 1,1,1; Command: hide;). Va apare desenul din fig. 2.


In cazul unor entitati plane deja construite li se poate modifica altitudinea si adancimea cu comanda CHANGE, apeland optiunea [Properties]. Printre alte modificari pe care le permite comanda, putem schimba adancimea [Thickness] si altitudinea [Elev], cu dialogul urmator:

Command: CHANGE

Select objects: 1 found

Select objects:

Specify change point or [Properties]: p

Enter property to change [Color/Elev/LAyer/LType/ltScale/LWeight/Thickness]: t

Specify new thickness <0.0000>: 800

Enter property to change [Color/Elev/LAyer/LType/ltScale/LWeight/Thickness]: e

Specify new elevation <0.0000>:

Enter property to change [Color/Elev/LAyer/LType/ltScale/LWeight/Thickness]:

In continuare prezentam comenzi cu care putem multiplica si roti spatial entitati existente.

2.3.3. Comanda 3DARRAY

Are efect similar cu comanda Array din plan dar ea se completeaza cu numarul de planuri in care se va multiplica obiectul selectat. Dialogul este :

Command: 3DARRAY

Select objects: 1 found

Select objects:

Enter the type of array [Rectangular/Polar] <R>:

Enter the number of rows (---) <1>:

Enter the number of columns (|||) <1>:

Enter the number of levels () <1>:

Specify the distance between rows (---):

Specify the distance between columns (|||):

Specify the distance between levels ():

Constructia din fig. 3 s-a obtinut prin multiplicarea cu comanda 3DARRAY a unui cerc de raza 50, pe doua randuri doua coloane si 10 niveluri, cu distantele de: 200 intre coloane, 200 intre randuri si 20 intre niveluri.


2.3.4. Comanda ROTATE3D

Comanda are efect similar cu comanda ROTATE din plan. In plus putem roti entitatile in jurul axelor de coordonate OX, OY, OZ, in jurul unei axe definite de noi prin doua puncte sau in jurul unei axe definite anterior. Vom exemplifica dialogul acestei comenzi pentru desenarea unei jumatati de cilindru. Se pleaca de la desenarea in 2D a obiectului din fig. 4. a, folosind comanda PLINE (doua segmente de dreapta si doua semicercuri).


Command: ROTATE3D

Current positive angle: ANGDIR=counterclockwise ANGBASE=0

Select objects: 1 found

Select objects:

Specify first point on axis or define axis by

[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]: x

Specify a point on the X axis <0,0,0>: 0,100

Specify rotation angle or [Reference]: 90

Command: ROTATE3D

Current positive angle: ANGDIR=counterclockwise ANGBASE=0

Select objects: 1 found

Select objects:

Specify first point on axis or define axis by [Object/Last/View/Xaxis/Yaxis/Zaxis/2points]: x

Specify a point on the X axis <0,0,0>:0,0

Specify rotation angle or [Reference]: 90

Command: vpoint

Current view direction: VIEWDIR=0.0000,0.0000,1.0000

Specify a view point or [Rotate] <display compass and tripod>: 1,1,1


In ordine s-au efectuat urmatoarele operatii, dupa realizarea constructiei plane din fig. 4. a si apelarea comenzii ROTATE3D:

s-a selectat semicercul superior si s-a rotit in jurul axei ox ([Object/Last/View/Xaxis/Yaxis/Zaxis/2points]: x) cu 90 ( Specify rotation angle or [Reference]: 90), axa ce are originea in capatul din stanga al semicercului selectat (Specify a point on the X axis <0,0,0>: 0,100);

- se apeleaza din nou comanda ROTATE3D, se selecteaza semicercul inferior si se roteste in jurul axei ox ([Object/Last/View/Xaxis/Yaxis/Zaxis/2points]: x) cu 90 ( Specify rotation angle or [Reference]: 90), axa ce are originea in capatul din stanga al semicercului selectat (Specify a point on the X axis <0,0,0>: 0,0);

- figura obtinuta este cea din fig. 4. b care vizualizata cu comanda VPOINT din punctul 1,1,1 (Specify a view point or [Rotate] <display compass and tripod>: 1,1,1) va da reprezentarea din fig. 4, c.

Comanda ROTATE3D mai are si alte optiuni si anume:

-           rotatia in jurul unor obiecte ([Object]) de tip linie, cer, arc sau polilinie (Select a line, circle, arc, or 2D-polyline segment:) cu un anumit unghi (Specify rotation angle or [Reference]:)

-           rotatia in jurul unei axe definite anterior ([Last]) cu specificarea unui nou unghi ( Specify rotation angle or [Reference]:)

-           rotatia in jurul directiei de vizualizare ([View]) cu specificarea acesteia ((Specify a point on the view direction axis <0,0,0>:) si a unghiului de rotatie (Specify rotation angle or [Reference]: 30);

-           rotatia in jurul axelor ox, oy, oz ca in exemplu precedent ([Xaxis/Yaxis/Zaxis]: ; Specify a point on the X axis <0,0,0>: ; Specify rotation angle or [Reference]:);

-           rotatia in jurul unei drepte ([2points]) definite prin doua puncte (Specify first point on axis: ; Specify second point on axis:) cu un anumit unghi de rotatie (Specify rotation angle or [Reference]:).

Sensul de rotatie pozitiv este dat de regula burghiului drept, lucru specificat si la inceputul comenzii (Current positive angle: ANGDIR=counterclockwise ANGBASE=0). Unghiul de rotatie poate avea si valori negative, sensul de rotatie fiind astfel invers celui dat de regula burghiului drept.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate