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;

>

Dacă se cunosc coordonatele vârfurilor unui poliedru, pentru reprezentarea sa se poate folosi
comanda
PLOT3D(POLYGONS(L),options);

5
LABORATOR 3 Geometrie computaţională

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

>

>

>

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.

6
LABORATOR 3 Geometrie computaţională

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 :

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

8
LABORATOR 3 Geometrie computaţională

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)

S-ar putea să vă placă și