% CASSEROLLE

%Caractéristiques de l'objet:
RP=3; %Rayon de la casserole
RB=1; %Rayon de courbure du Bas de la casserolle
HC=3; %Hauteur de la Casserole
PPL=0.75; %Position des Poignées Latérales par rapport au sommet
RCPL=0.75; %Rayon de Courbure des Poignées Latérales
RPL=0.25; %Rayon du tube des Poignées Latérales
EL=0; %ELévation du couvercle par rapport à la casserole
RC=3.2; %Rayon du Couvercle
EC=0.5; %Epaisseur du Couvercle
RCPC=0.75; %Rayon de Courbure de la Poignée du Couvercle
RPC=0.25; %Rayon du tube de la Poignée du Couvercle

%Tore du fond:
RC1=RP-RB; %Rayon de courbure
R1=RB; %Rayon du tube
Z1=0; %Position verticale

a=RC1;
b=RC1+R1;
c=0;
d=2*pi;
[r,t]=meshgrid(a:(b-a)/50:b,c:(d-c)/50:d);
x=r.*cos(t);
y=r.*sin(t);
z=sqrt(R1^2-(r-RC1).^2);

surf(x,y,-z+Z1)
hold on

%Fond:
R2=RP-RB; %Rayon du fond
Z2=-RB; %Position verticale

a=0;
b=R2;
c=0;
d=2*pi;
[r,t]=meshgrid(a:(b-a)/1:b,c:(d-c)/50:d);
x=r.*cos(t);
y=r.*sin(t);
z=0*x;

surf(x,y,z+Z2)

%Paroi:
R3=RP; %Rayon de la paroi
H=HC; %Hauteur de la paroi
Z3=0; %Position verticale

a=-R3;
b=R3;
c=-0.1;
d=H;
[x,z]=meshgrid(a:(b-a)/50:b,c:(d-c)/1:d);
y=sqrt(R3^2-x.^2);

surf(x,y,z+Z3)
surf(x,-y,z+Z3)

%Couvercle:
R4=RC; %Rayon du couvercle
E=EC; %Epaisseur du couvercle
Z4=HC+EL; %Position verticale

a=0;
b=R4;
c=0;
d=2*pi;
[r,t]=meshgrid(a:(b-a)/1:b,c:(d-c)/50:d);
x=r.*cos(t);
y=r.*sin(t);
z=0*x;

m1=surf(x,y,z+Z4);
m2=surf(x,y,z+Z4+E);

%Tore du couvercle:
RC5=RC; %Rayon de courbure
R5=EC/2; %Rayon du tube
Z5=HC+EL+EC/2; %Position verticale

a=RC5;
b=RC5+R5;
c=0;
d=2*pi;
[r,t]=meshgrid(a:(b-a)/50:b,c:(d-c)/50:d);
x=r.*cos(t);
y=r.*sin(t);
z=sqrt(R5^2-(r-RC5).^2);

m3=surf(x,y,z+Z5);
m4=surf(x,y,-z+Z5);

%Demi-tores de la poignée du couvercle:
RC6=RCPC; %Rayon de courbure
R6=RPC; %Rayon du tube
Z6=HC+EL+EC; %Position verticale de la poignée du couvercle

a=RC6-R6;
b=RC6+R6;
c=0;
d=pi;
[r,t]=meshgrid(a:(b-a)/50:b,c:(d-c)/50:d);
x=r.*cos(t);
y=r.*sin(t);
z=sqrt(R6^2-(r-RC6).^2);

m5=surf(x,z,y+Z6);
m6=surf(x,-z,y+Z6);

%Demi-tores des poignées latérales:
RC7=RCPL; %Rayon de courbure
R7=RPL; %Rayon du tube
Z7=HC-PPL; %Position verticale des poignées latérales

a=RC7-R7;
b=RC7+R7;
c=pi/3;
d=5*pi/3;
[r,t]=meshgrid(a:(b-a)/50:b,c:(d-c)/50:d);
x=r.*cos(t);
y=r.*sin(t);
z=sqrt(R7^2-(r-RC7).^2);

surf(x-R3,y,z+Z7)%Poignée gauche
surf(x-R3,y,-z+Z7)
surf(-x+R3,y,z+Z7)%Poignée droite
surf(-x+R3,y,-z+Z7)

%Paramètres graphiques:
shading interp
gris=[0:63;0:63;0:63]./63/10+0.9;
colormap (gris')
light
lighting phong
zoom(1.8)
view(50,20)

%Paramètres des axes:
axis image
axis off

hold off