Sunteți pe pagina 1din 9

LABORATOR 3 Geometrie computaţională

LABORATOR 3

1. Primitive geometrice simple: punct, segment, poligon


In Maple există un număr de comenzi referitoare la poligoane, incluse în diferite biblioteci. Astfel,
biblioteca plottools conține comenzile point, line, polygon.

 Comanda point generează un obiect plot care prin apelarea comenzii display reprezintă
grafic un punct (sau o mulțime de puncte) 2D sau 3D; sintaxa sa poate avea una dintre
expresiile:
 point(p, opts)
 point(m, opts)
 point(v1, v2, opts)
 point(v1, v2, v3, opts)
unde parametrii au următoarele semnificații:

p - listă cu un singur punct


m - Matrice sau listă cu 1 sau mai multe puncte
v1, v2, v3 - Vectori sau liste conținând coordonatele x-, y- şi z-ale punctelor
opts - Listă de opțiuni de tip plot (color, symbol, symbolsize)

Exemple:
1) >
>

>

1
LABORATOR 3 Geometrie computaţională

2) >

3) >

4) >

>

 Comanda line generează un obiect plot care prin apelarea comenzii display reprezintă grafic
un segment (sau o mulțime de puncte) 2D sau 3D; sintaxa sa este:
 line(a,b, opțiuni)
unde parametrii au următoarele semnificații:

2
LABORATOR 3 Geometrie computaţională

a,b - reprezintă puncte 2D sau 3D (extremitățile segmentului)


opts - Listă de opțiuni de tip plot (color, linestyle, thickness)
Exemple:
1) >
2) >

>

 Comanda plygon generează un obiect plot care prin apelarea comenzii display reprezintă
grafic un poligon 2D sau 3D; sintaxa sa poate avea una dintre expresiile:
 polygon([[x1,y1], [x2,y2], ..., [xn, yn]] ,opțiuni)
 polygon([[x1,y1,z1], [x2,y2,z2], ..., [xn,yn,zn]] , opțiuni)
unde
[[x1,y1], [x2,y2], ..., [xn, yn]] - reprezintă o listă de puncte 2D
[[x1,y1,z1], [x2,y2,z2], ..., [xn,yn,zn]] - reprezintă o listă de puncte 2D

Comanda trebuie precedată de o comandă with(plottools):

Comanda polygon crează un polygon 2D sau 3D care are drept vârfuri punctele precizate.
Exemple.
1) >

2) >

Observație. Pentru reprezentarea grafică a unui punct sau a unui poligon pot fi folosite şi comenzile
pointplot, pointplot3D, polygonplot sau polygonplot3D care aparțin bibliotecii plots, deci apelarea
lor trebuie precedată de comanda with(plots).

Exemplu. Pentru reprezentarea grafică a unui poligon regulat cu n laturi înscris în cercul de rază 1 se
poate folosi una dintre următoarele succesiuni de comenzi :

3
LABORATOR 3 Geometrie computaţională

1) >

2) >

3) >
>

4) >

2. Reprezentări de poliedre
In Maple poliedrele pot fi reprezentate prin folosirea comenzii polyhedraplot din biblioteca plots.
Sintaxa comenzii este:

polyhedraplot(L,options);

- L reprezintă o lista de puncte de forma [[x1,y1,z1], [x2,y2,z2], ..., [xn,yn,zn]]. Daca lista
este formata dintr-un singur punct, atunci se poate scrie [x,y,z].
- optiunile specifice comenzii polyhedraplot sunt:
- polyscale = <constant>, care controleaza dimensiunea fiecarui poliedru, implicit
este egala cu 1
- polytype = <set>, set reprezinta un nume de poliedru predefinit existent in
biblioteca Maple.
Multimea poliedrelor din biblioteca Maple se poate opţine prin utilizarea comenzii
with(plots): polyhedra_supported();
Exemple.
Reprezentarea grafica a celor cinci poliedre regulate, cunoscute şi sub numele de solizii lui Platon.
1. tetraedrul regulat :
>

2. cubul
>

3. octaedrul regulat: poliedrul regulat cu 8 fețe, triunghiuri echilaterale;

4
LABORATOR 3 Geometrie computaţională

>

4. dodecaedrul regulat: poliedrul regulat cu 12 fețe, pentagoane regulate;


>

5. icosaedrul regulat: poliedrul regulat cu 20 de fețe, triunghiuri echilaterale;


>

5
LABORATOR 3 Geometrie computaţională

Dacă se cunosc coordonatele vârfurilor unui poliedru, pentru reprezentarea sa se poate folosi
comanda

PLOT3D(POLYGONS(L),options);
unde L reprezintă o lista de poligoane, date prin succesiunea coordonatelor vârfurilor lor.
Fiecare polygon trebuie să fie convex şi plan.

Exemple.
1) Pentru reprezentarea unui cub cu latura 1, cu 3 feţe pe planele de coodonate se poate folosi
comanda :
>

2) Pentru reprezentarea unei piramide patrulatere se poate folosi secvenţa următoare :


>

3) Pentru reprezentarea unei piramide regulate se poate folosi secvenţa următoare

>

>

>

6
LABORATOR 3 Geometrie computaţională

3. Transformari geometrice

In biblioteca plottools există comenzi pentri generarea unor transformări geometrice, precum:
translații, rotații, simetrii, proiecții sau scalări. Vom prezenta pentru fiecare dintre acestea sintaza
generală şi exemple de aplicare.

3.1. Comanda translate afişează imaginea unei structuri plot în urma unei translaţii 2D sau 3D de
vector precizat. Sintaxa comenzii:
translate(p, a, b)
translate(q, a, b, c)
parametrii avand semnificaţia următoare:
p - o structura plot 2d
q - o structura de date plot3d
a,b,c - numere reale, reprezentand coordonatele vectorului de translaţie
Exemple
1) >

>
>

2) >

3.2. Comanda rotate afişează imaginea unei structuri plot în urma unei rotaţii în jurul unui punct în
plan sau în jurul unei axe în spatiu. Sintaxa comenzii:
rotate(p, unghi, [x0,y0])
rotate(q,alpha,beta,gamma)
rotate(q,unghi,[pt_3d_1,pt_3d_2])
parametrii având semnificaţia următoare:
p - structura PLOT sau obiect 2D
unghi - unghiul de rotaţie în sens invers trigonometric, exprimat în radiani
[x0,y0] - (optional) lista de 2 nemere reale, exprimând coordonatele centrului
de rotaţie (cazul 2D)
q - o structura PLOT3D sau un obiect 3D
alpha - unghi de rotaţie în jurul axei Ox, exprimat în radiani
beta - unghi de rotaţie în jurul axei Oy, exprimat în radiani
gamma - unghi de rotaţie în jurul axei Oz, exprimat în radiani
pt_3d_1,pt_3d_2 - (opţional) liste de trei numere reale, reprezentănd coordonatele
a două puncte de pe axa de rotaţie.
Exemple
1) >

7
LABORATOR 3 Geometrie computaţională

2) >

3.3. Comanda reflect afişează imaginea unei structuri plot în urma unei simetrii faţă de un punct,
faţă de o dreaptă sau faţă de un plan. Sintaxa comenzii:
reflect(p, pt_2d) - simetrie centrala 2D
reflect(p, [pt_2d, pt_2d]) - simetrie axiala 2D
reflect(p, pt_3d) - simetrie centrala 3D
reflect(p, [pt_3d, pt_3d]) - simetrie axiala 3D
reflect(p, [pt_3d, pt_3d, pt_3d]) - simetrie fata de un plan 3D
parametrii având semnificaţia următoare:
p - structura PLOT sau obiect 2-D
q - structura PLOT3D sau un obiect 3-D
pt_2d - (optional) lista de două numere reale, specificând un punct 2D
pt_3d - (optional) lista de trei numere reale specificând un punct 3D
Exemple.
1) Simetrica structurii plot A fața de origine :

2) Simetrica structurii plot A fața de axa Oy :

3.4. Comanda scale afişează imaginea unei structuri plot în urma unei scalari faţă de direcţiile axelor
de coordonate. Sintaxa comenzii:
scale(p, a, b, pt_2d)
scale(q, a, b, c, pt_3d)
parametrii avand semnificaţia următoare:
p - structura PLOT sau obiect 2-D
q - structura PLOT3D sau un obiect 3-D
a,b,c - numere reale, specificând factorii de scalare
pt_2d - (optional) lista de doua numere reale, specificând centrul de scalare 2D
pt_3d - (optional) lista de trei numere reale specificând centrul de scalare 3D
Exemple.
1) Scalarea structurii plot A fața de origine, cu factorii a=1/2, b=-1 :

8
LABORATOR 3 Geometrie computaţională

2) Scalarea structurii plot A fața de punctul [1,-1], cu factorii a=1/2, b=-1:

3.5. Comanda project afişează imaginea unei structuri plot în urma unei proiecţii pe o dreaptă în
plan sau pe o dreapta sau un plan în spatiu. Sintaxa comenzii:
project(p, [pt_2d, pt_2d])
project(q, [pt_3d, pt_3d])
project(q, [pt_3d, pt_3d, pt_3d])
parametrii având semnificaţia următoare:
p - structura PLOT sau obiect 2-D
q - structura PLOT3D sau un obiect 3-D
pt_2d - (optional) listă de doua numere reale, specificând puncte pe axa de proiecţie 2D
pt_3d - (optional) listă de trei numere reale specificând puncte pe axa sau planul de proiecţie
3D
Exemple.
1) >
>
>
2)