%  ___ Design :   " Contour3 - Mesh - Triangle Graphic "    ___
%  _______________________________________________

close all; clear all; clf;

% :::::::::::::::::::::  Triangle - Plot ::::::::::::::::::::
L = 3;
radi = [90 210 330 90]*pi/180
xtria = L*cos(radi);
ytria = L*sin(radi);
z = zeros(size(xtria,2))

subplot(121)
    hp = plot3(xtria, ytria, z,'b-o', 'MarkerEdgeColor', 'r')
    set(hp, 'LineWidth',3)
    grid on
    axis square
    hold  on
% ::::::::::::::: 3D  Mesh ::::::::::::::::::::::. 
    radA = (0: 30: 90)* pi/180;
    R = 0 :1: L;
    [theta, ra] = meshgrid(radA,  R);
% ::::::::::: convert from cylindrical  to Cartesian coordinates   :::::::::.
xx = ra.*cos(theta);
yy = ra.*sin(theta);
zz = zeros(size(xx));
    hm = mesh(xx, yy, zz);
    set(hm, 'EdgeColor', [0.8 0.9 0.2],'Edgealpha', 0.9, 'FaceColor', 'none');  
    set(hm, 'Linewidth', 1.2) 
    set([gcf gca], 'Color', [0.55 0.55 0.54])
    view(-10, 24)
    pause(1)
% :::::::::::::::  Mesh mit Contour3 ::::::::::::..
A = [xx; xx];
B = [yy; yy];

Hi = [zeros(size(xx)); 2*ones(size(xx))];              % >  Boden + Deckel
contour3(A, B, Hi,10)
hc = findobj('Type','patch');
set(hc, 'Linewidth', 2) 

    rotate3d
% :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
pause(1)
subplot(122)
    hp = plot3(xtria, ytria, z,'b-o', 'MarkerEdgeColor', 'r') 
    set(hp,  'LineWidth',3)
    grid on
    axis square
    set([gcf gca], 'Color', [0.55 0.55 0.54])
    pause(1)
    hold on
    Xtria = [xtria; xtria]
    Ytria = [ytria; ytria]
    High = [zeros(size(xtria)); 2*ones(size(xtria))];
    contour3(Xtria,Ytria, High, 10)
    ht = findobj('Type','patch');
    set(ht,  'LineWidth',2)
    rotate3d
pause(1)

    % :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
figure(2)
radeo = [0:20: 90]*pi/180;
[Leo, r] = meshgrid(radeo, 0: 0.5:1);
xeo = r.*sin(Leo);
yeo = r.*cos(Leo);
zeo = zeros(size(xeo));
% ::::::::::::::::::: 3D  Quader ::::::::::::::.
quad = 0:pi/2: 2*pi;
[Teo, z] = meshgrid(quad, 0: 0.5:1);
xteo = sin(Teo);
yteo = cos(Teo);
zteo = zeros(size(xteo));
% zoo = ones(size(xeo));  

subplot(121)
    hmeo = mesh(xeo, yeo, zeo);
    set(hmeo, 'Linewidth', 3.5, 'EdgeColor', 'b', 'Facecolor', 'none') 
    pause(1)
    % :::::::
    contour3(xeo,yeo, r, 4);
    ht = findobj('Type','patch');
    set(ht,  'LineWidth',1.5)

    set([gcf gca], 'Color', [0.55 0.55 0.54])
    pause(1)
    colormap(hsv(20))
    % :::::::

subplot(122)
    hmeo = mesh(xteo, yteo, zteo);
    set(hmeo, 'Linewidth', 3.5, 'EdgeColor', 'b', 'Facecolor', 'none') 
    pause(1)
      % :::::::
    contour3(xteo,yteo, z, 4);
    ht = findobj('Type','patch');
    set(ht,  'LineWidth',1.5)
    set([gcf gca], 'Color', [0.55 0.55 0.54])
