Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Tema: Suprafete Bezier
1) Se da poligonul Bezier al unei curbe plane, b=[1 0 ; 2/3 1/3 ; 2/3 4 ; 0 2]. Se considera suprafata cilindrica avand ca profil curba plana, care este transportata paralel pe verticala pana la inaltimea h=3.
a) calculati coordonatele punctelor retelei Bezier ale suprafetei obtinute prin translatia punctelor Bezier ale curbei in planurile z=0, z=1, z=2, z=3.
R: Sunt 4x4 puncte in 3 dimensiuni
b) calculati suprafata folosind reprezentarea cu ajutorul polinoamelor Bernstein
c) reprezentati grafic suprafata.
u=linspace(0,1,20);
v=linspace(0,1,20);
bx=ones(4,1)*[1 2/3 2/3 0];
by=ones(4,1)*[0 1/3 4 2];
bz=[0 1 2 3]'*ones(1,4);
B0u=[(1-u).^3];
B1u=[3*(1-u).^2.*u];
B2u=[3*(1-u).*u.^2];
B3u=[u.^3];
B0v=[(1-v).^3];
B1v=[3*(1-v).^2.*v];
B2v=[3*(1-v).*v.^2];
B3v=[v.^3];
Bu=[B0u; B1u ; B2u ; B3u ];
Bv=[B0v; B1v ; B2v ; B3v ];
x=Bu'*bx*Bv;
y=Bu'*by*Bv;
z=Bu'*bz*Bv;
surf(x,y,z);
axis equal;
bx=ones(4,1)*[1 2/3 2/3 0];
by=ones(4,1)*[0 1/3 4 2];
bz=[0 1 2 3]'*ones(1,4);
shading interp;
colormap('cool');
hold on
axis off
plot3(bx,by,bz,'b-');
plot3(bx',by',bz','b-');
d) * reprezentati grafic reteaua punctelor Bezier ale suprafetei
2) Creati o suprafata Bezier 'propie' in MATLAB in modul urmator:
a) Creati cimpuri de date bx, by, bz de dimensiune 4x4 pentru coordonatele
x,y,z ale punctelor Bezier, alegind cite 16 numere si scriindu-le in cimpurile de date.
bx=[1 5 9 0 ; 1 5 9 0 ; 1 5 9 0 ;1 5 9 0];
by=[4 2 2 4 ; 4 2 2 4 ; 4 2 2 4 ; 4 2 2 4];
bz=[0 3 4 5 ; 0 3 4 5 ; 0 3 4 5 ; 0 3 4 5];
b) Generati parametrii suprafetei cu comanda meshgrid.
u=linspace(0,1,100);
v=linspace(0,1,100);
c) Calculati coordonatele X,Y,Z ale punctelor suprafetei folosind formula de calcul cu ajutorul polinoamelor Bernstein.
x=[B0u; B1u ; B2u ; B3u ]'*bx*[B0v; B1v ; B2v ; B3v ];
y=[B0u; B1u ; B2u ; B3u ]'*by*[B0v; B1v ; B2v ; B3v ];
z=[B0u; B1u ; B2u ; B3u ]'*bz*[B0v; B1v ; B2v ; B3v ];
d) Reprezentati grafic suprafata (si reteaua ei Bezier *).
Copyright © 2024 - Toate drepturile rezervate