% erstellt beleuchtete 3D Oberflächenplots einer Funktion z=f(x,y)

figure

[x,y] = meshgrid(-3:1/8:3);
z = peaks(x,y);

subplot(2,2,1)

surfl(x,y,z);                              % erstellt eine beleuchtete 3D Oberfläche
shading interp
axis tight
xlabel('x')
ylabel('y')
zlabel('z')
title('surfl(x,y,z)','fontsize',16)


subplot(2,2,2)

surfl(x,y,z,'light')                       % erstellt eine beleuchtete 3D Oberfläche, erhöhter Kontrast durch 'light' 
shading interp
axis tight
xlabel('x')
ylabel('y')
zlabel('z')
title('surfl(x,y,z,''light'')','fontsize',16)


subplot(2,2,3)

s=[0,90];
surfl(x,y,z,s)                             % erstellt eine beleuchtete 3D Oberfläche, der Vektor s gibt die Winkel der 
                                           % Lichtquelle an (analog zu view), in diesem Fall kommt das Licht von oben
                                           % (parallel zur z-Achse)
shading interp
axis tight
xlabel('x')
ylabel('y')
zlabel('z')
title('surfl(x,y,z,s)','fontsize',16)


subplot(2,2,4)

s=[0,90];
k=[1,0.1,1,0.1];
surfl(x,y,z,s,k)                          % erstellt eine beleuchtete 3D Oberfläche, zusätzlich zur Richtung der Lichtquelle
                                          % beinhaltet der Vektor k die Information über die relative Stärke des
                                          % Umgebungslichtes, der diffusen Reflexion, der spiegelnden Reflexion sowie des
                                          % spiegelnden Glanzes
shading interp
axis tight
xlabel('x')
ylabel('y')
zlabel('z')
title('surfl(x,y,z,s,k)','fontsize',16)

colormap copper
