%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                            Michael Pokojovy                             % 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[X, Y] = meshgrid(-2:0.1:2);

figure(1);

set(gcf, 'PaperUnits', 'centimeters');
xSize = 14; ySize = 10;
xLeft = (21 - xSize)/2; yTop = (30 - ySize)/2;
set(gcf,'PaperPosition', [xLeft yTop xSize ySize]);
set(gcf,'Position',[0 0 xSize*50 ySize*50]);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
hold on;
t = title('Der schiefe Turm $T := \{(x, y, z) \,|\, (x - z/10)^{2} + (y - z/10)^{2} \leq 1, \, 0 \leq z \leq 10\}$', 'interpreter', 'latex');
set(t, 'FontSize', 16);

N = 20;

phi = linspace(0, 2*pi, N);
h   = linspace(0, 10, N);

X = zeros(N, N);
Y = zeros(N, N);
Z = zeros(N, N);

for i = 1:N
for j = 1:N
    X(i, j) = cos(phi(i)) + h(j)/10;
    Y(i, j) = sin(phi(i)) + h(j)/10;
    Z(i, j) = h(j);
end
end

grid on;

colormap gray;
surf(X, Y,  Z);

phi = linspace(0, 2*pi, N);
r   = linspace(0, 1, N);

X = zeros(N, N);
Y = zeros(N, N);
Z = zeros(N, N);

for i = 1:N
for j = 1:N
    X(i, j) = cos(phi(i))*r(j) + 1;
    Y(i, j) = sin(phi(i))*r(j) + 1;
    Z(i, j) = 10;
end
end

surf(X, Y,  Z);

for i = 1:N
for j = 1:N
    X(i, j) = cos(phi(i))*r(j);
    Y(i, j) = sin(phi(i))*r(j);
    Z(i, j) = 0;
end
end

surf(X, Y,  Z);

view([123 36]);

xlabel('x');
ylabel('y');
zlabel('z');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%