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

Matematica


Index » educatie » Matematica
» Suprafete Bezier - poligonul Bezier


Suprafete Bezier - poligonul Bezier


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 *).





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate