%%%%%%%%%%%%%%%%%%%% SURFACE PARAMETREE %%%%%%%%%%%%%%%%% n=40; p=40; u=linspace(-1/2,1/2,n); v=linspace(0,2*pi,p); for i=1:n for j=1:p X(i,j)=(1-u(i)*sin(v(j)/2))*cos(v(j)); Y(i,j)=(1-u(i)*sin(v(j)/2))*sin(v(j)); Z(i,j)=u(i)*cos(v(j)/2); end end surf(X,Y,Z) axis equal shading interp light('position',[-2,2,2]) lighting phong pause %%%%% autre méthode : clear all clf ezsurf('(1-u*sin(v/2))*cos(v)','(1-u*sin(v/2))*sin(v)',... 'u*cos(v/2)',[-1/2,1/2],[0,2*pi]) %%%%%%%%%%%%%%%%%%%%% JEU DE PING %%%%%%%%%%%%%%%%%%%%%%%% clear all n=input('nombre de lignes ? '); p=input('nombre de colonnes ? '); M=ones(n+2,p+2); % le jeu sera représenté par la sous-matrice M(2:n+1,2:p+1) affiche(M); while sum(sum(M(2:n+1,2:p+1)))~=0 % il y a encore des noirs M=joue(M); affiche(M) end disp('gagné !') function affiche(M) clf [n,p]=size(M); for j=2:p-1 for i=2:n-1 rectangle('position',[j,i,0.9,0.9],'curvature',[1,1],... 'facecolor',[M(i,j),M(i,j),M(i,j)]) end end axis equal axis off function M=joue(M) [x,y]=ginput(1); j=floor(x); i=floor(y); temp=M(i,j); M(i-1:i+1,j-1:j+1)=1-M(i-1:i+1,j-1:j+1); M(i,j)=temp;