Sunteți pe pagina 1din 11

Laborator 11. Reprezentri grafice n spatiu n Matlab 7.

0
Bibliografie
I. Iatan - ndrumtor de laborator n Matlab 7.0, Ed. Conspress, Bucureti, 2009.
Matlab 7.0 dispune de funcii speciale care permit realizarea reprezentrilor grafice 3D,
funcii ilustrate mai jos.
Aplicaii rezolvate
GENERAREA VECTORILOR CU PAS LINIAR
1. Sa se genereze un vector X cu 5 componente, cuprinse n intervalul
[ ] 3 , 2
.
>> X=linspace(-2,3,5)
X =
-2.0000 -0.7500 0.5000 1.7500 3.0000
1
Funcia Semnificaie
ellipsoid(xc,zc,yc,a,b,c) reprezint grafic elipsoidul de ecuaie
( ) ( ) ( )
1
2
2
2
2
2
2

c
zc z
b
yc y
a
xc x
X=linspace(x1,x2,n) Genereaz un vector X cu
n
componente, cuprinse n
intervalul
[ ] 2 , 1 x x
. Pasul dintre doua componente este
( ) ( ) 1 1 2 n x x pas
. Daca valoarea lui
n
este omisa,
atunci aceasta este considerata implicit egala cu 100.
[X,Y]=meshgrid(x,y) Returneaz n matricele X i Y , perechile de coordonate
ale tuturor punctelor din domeniul definit de vectorii
x
i
y
; matricele sunt utile pentru reprezentri grafice 3D.
mesh(X,Y,Z) Reprezint grafic suprafaa
( ) Y X Z ,
sub forma unei retele
plot3(X,Y,Z) Reprezint grafic cte o linie n spaiu prin punctele ale cror
coordonate sunt elementele matricelor X , Y , Z
plot3(X1,Y1,Z1,linie
tip1,X2,Y2,Z2,linie tip2)
Realizeaz reprezentri grafice 3D multiple, tipurile i
culorile liniilor precizndu-se precum n cazul funciei plot
GENERAREA UNEI RETELE (MESH)
2. Sa se genereze matricele X i Y pentru domeniul:
2 2 x ,
3 3 y
cu pasul 1 pe axa Ox si pasul 3 pe axa
Oy
.
Apeland in Matlab7.0 instructiunea
>> [X,Y]=meshgrid(-2:2,-3:3:3)
rezulta
X =
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
Y =
-3 -3 -3 -3 -3
0 0 0 0 0
3 3 3 3 3
REPREZENTAREA 3D A SUPRAFETELOR
3. Reprezentai grafic n 3D urmtoarele suprafee:
a) ( ) ( ) y x y x y x f + + + cos sin ,
2 2
,
[ ] 9 , 3 x
,
[ ] 6 , 3 y
>> [x,y]=meshgrid(-3:.1:9,-3:.1:6);
>>z=sin(sqrt(x.^2+y.^2))+cos(x+y);
>> mesh(x,y,z);
b) ( )
4 4
, y x y x f ,
[ ] 3 , 3 , y x
>> [x,y]=meshgrid(-
3:.1:3,-3:.1:3);
>> z=x.^4-y.^4;
>> mesh(x,y,z);
3. Reprezentai grafic urmtoarele
cuadrice:
2
-5
0
5
10
-5
0
5
10
-2
-1
0
1
2
-4
-2
0
2
4
-4
-2
0
2
4
-100
-50
0
50
100
a) Elipsoidul
>> ellipsoid(3,-2,1,9,4,1)
-10
-5
0
5
10
15
-6
-4
-2
0
2
0
0.5
1
1.5
2
b) Hiperboloidul cu o pnz:
- are ecuaia n coordonate carteziene
0 1
2
2
2
2
2
2
+
c
z
b
y
a
x
, 0 > b a , 0 > c ;
- are reprezentarea parametric:

'

+
+
cu z
v u b y
v u a x
sin 1
cos 1
2
2
,
u
,
[ ] 2 , 0 v
.
>> a=7;c=2;b=3;
>>u=linspace(-1,1,300);v=linspace(0,2*pi,300);
>> x=a*cos(v)'*sqrt(1+u.^2);y=b*sin(v)'*sqrt(1+u.^2);z=c*ones(size(v))'*u;
>> mesh(x,y,z)
3
c) Paraboloidul hiperbolic:
- are ecuaia n coordonate carteziene
z
b
y
a
x
2
2
2
2
2
,
0 , 0 > > b a
;
- are reprezentarea parametric:

'

u v z
u v b y
u v a x
2 cos
sin 2
cos 2
,
[ ] 2 , 0 u
,
0 > v
.
>>a=3;b=2;
>> [x,y]=meshgrid(-60:15/6:90,-50:5/2:50);
>> z=x.^2/(2*a^2)-y.^2/(2*b^2);
>> mesh(x,y,z);
-100
-50
0
50
100
-50
0
50
-400
-200
0
200
400
600
4
d) Cilindrul:
- are ecuaia n coordonate carteziene
2 2 2
R y x +
;
- are reprezentarea parametric:

'

v z
u R y
u R x
sin
cos
,
[ ] 2 , 0 u
,
[ ] h v , 0
.
>> R=0.5;
>> u=linspace(0,2*pi,200);
>> v=linspace(0,50,200);
>> x=R*cos(u)'*ones(size(v));
>> y=R*sin(u)'*ones(size(v));
>> z=ones(size(u))'*v;
>> mesh(x,y,z)
-0.5
0
0.5
-0.5
0
0.5
0
10
20
30
40
50
e) Conul de rotaie:
- are ecuaia n coordonate carteziene
0
2
2
2
2
2

+
c
z
a
y x
,
0 , > c a
;
- are reprezentarea parametric:
5

'

cv z
u av y
u av x
sin
cos
, v .
>> a=1; c=2;
>> u=linspace(0,2*pi,200);
>>v=linspace(0,50,200);
>> x=a*cos(u)'*v;
>> y=a*sin(u)'*v;
>> z=c*ones(size(u))'*v;
>>mesh(x,y,z)
-50
0
50
-50
0
50
0
20
40
60
80
100
f) Hiperboloidul cu dou pnze:
- are ecuaia n coordonate carteziene
0 1
2
2
2
2
2
2
+ +
c
z
b
y
a
x
, 0 > b a , 0 > c ;
- are reprezentarea parametric:

'

u c z
v u b y
v u a x
cosh
sin sinh
cos sinh
,
u
,
[ ] 2 , 0 v
.
>> a=3;c=3;b=2;
>> u=linspace(-3,3,200);v=linspace(0,2*pi,200);
>> x=a*cos(v)'*sinh(u);y=b*sin(v)'*sinh(u);
>>z=c*ones(size(v))'*cosh(u);z1=-c*ones(size(v))'*cosh(u);
6
>> plot3(x,y,z,x,y,z1,'LineWidth',8);
-40
-20
0
20
40
-40
-20
0
20
40
-50
0
50
g) Conul de ordin doi:
- are ecuaia n coordonate carteziene
0
2
2
2
2
2
2
+
c
z
b
y
a
x
, 0 > b a , 0 > c ;
- reprezentarea parametric:

'

cv z
u bv y
u av x
sin
cos
, v ,
[ ] 2 , 0 u
.
>> a=4;b=3;c=2;
>> u=linspace(0,2*pi,200);
>>v=linspace(0,50,200);
>> x=a*cos(u)'*v;
>> y=b*sin(u)'*v;
>> z=c*ones(size(u))'*v;
>> z1=-c*ones(size(u))'*v;
>> plot3(x,y,z,x,y,z1,LineWidth,8)
7
-200
-100
0
100
200
-200
-100
0
100
200
-100
-50
0
50
100
4. Reprezentai grafic arcul de elice:

'

u
a
z
u R y
u R x
2
sin
cos
,
[ ] 2 , 0 u
.
>> R=4;a=1;
>> u=linspace(0,2*pi,200);
>> x=R*cos(u)'*ones(size(u)); y=R*sin(u)'*ones(size(u)); z=(a/(2*pi))*u'*ones(size(u));
>> mesh(x,y,z, 'LineWidth',8)
-4
-2
0
2
4
-4
-2
0
2
4
0
0.2
0.4
0.6
0.8
1
5. Reprezentai grafic urmatoarele suprafee algebrice remarcabile:
a) Bohemian Dome:
8

'

v c z
u a v b y
u a x
sin
sin cos
cos
,
[ ] 2 , 0 , v u
, 5 . 0 a , 5 . 1 b , 1 c
>> a=0.5;c=1;b=1.5;
>> u=linspace(0,2*pi,100);v=linspace(0,2*pi,100);
>> x=a*ones(size(v))'*cos(u);
>> y=b*cos(v)'*ones(size(u))+a*ones(size(v))'*sin(u);
>> z=c*sin(v)'*ones(size(u));
>> mesh(x,y,z)
-0.5
0
0.5
-2
-1.5 -1
-0.5
0 0.5
1
1.5
2
-1
-0.5
0
0.5
1
b) Astroidal Ellipsoid:

'

v c z
v u b y
v u a x
3
3 3
3 3
sin
cos sin
cos cos
,
1
]
1



2
,
2
u
,
[ ] , v
, 1 a , 05 . 0 b , 7 . 0 c .
>> a=1;b=0.05;c=0.7; u=linspace(-pi/2,pi/2,500);v=linspace(-pi,pi,500);
>> x=a*(cos(v).^3)'*cos(u).^3; y=b*(cos(v).^3)'*sin(u).^3;
>> z=b*(sin(v).^3)'*ones(size(u));
>> mesh(x,y,z)
9
-1
-0.5
0
0.5
1
-0.05
0
0.05
-0.05
0
0.05
Aplicaii propuse
1. Reprezentai grafic n 3D urmtoarele suprafee:
a.
( )
( )
3
2 2
20
,
y x
y x f
+

,
[ ] 3 , 1 x
,
[ ] 6 , 6 y
;
b.
( )
( )
3
2 2
1
,
y x
xy
y x f
+ +

,
[ ] 10 , 10 x
,
[ ] 6 , 6 y
;
c. ( ) x y y x f
3
sin , ,
[ ] , 0 , y x
;
d. ( ) ( )
2
1 , y x y x f ,
[ ] 4 , 1 , y x
.
2. Reprezentai grafic:
a) Sfera
- are ecuaia n coordonate carteziene
2 2 2 2
R z y x + +
- are reprezentarea parametric:

'




cos
sin sin
cos sin
z
y
x
,

0 >
,
[ ] , 0
,
[ ] 2 , 0
.
b) Paraboloidul eliptic
- are ecuaia n coordonate carteziene
z
b
y
a
x
2
2
2
2
2
+
, 0 > b a ;
- are reprezentarea parametric:
10

'

v z
u v b y
u v a x
sin 2
cos 2
,
[ ] 2 , 0 u
, 0 > v .
11

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