function cube % 54 var

% T --> profundity
% X --> width
% Z --> altitude

% 19x19x19=6859 elements of the cube
% 19*19+19*18+19*17+19*16+19*15+19*14+19*13+19*12+19*11+19*10+19*9+19*8+19*7+19*6+19*5+19*4+19*3+19*2+19=3610 full elements
% 6859-3610=3249 empty elements
% 3610-3249=361=19*19 intermediate elements --> diagonal matrix 
% diagonal matrix
% (19,:,1)
% (18,:,2)
% (17,:,3)
% (16,:,4)
% (15,:,5)
% (14,:,6)
% (13,:,7)
% (12,:,8)
% (11,:,9)
% (10,:,10) --> vector of half
% (9,:,11)
% (8,:,12)
% (7,:,13)
% (6,:,14)
% (5,:,15)
% (4,:,16)
% (3,:,17)
% (2,:,18)
% (1,:,19)

clc;

f=1;
e=0;
d=1;
for b=1:19, 
    if b>2,
        e=e+2*(b-2);
    end
    for f=1:b,
        if (f>1 & b>1),
            d=d+1;
            e=e-2;
        end
        v(d,:,f+e)=randperm(19);
    end
    d=1;
    if b>1,
        e=e+2*(b-1);
    end
    for f=1:b,
        if (f>1 & b>1),
            d=d+1;
            e=e-3;
        end
        for a=1:19,
            if v(d,a,f+e)==1,
                m(d,a,f+e)='a';
            elseif v(d,a,f+e)==2,
                m(d,a,f+e)='b';
            elseif v(d,a,f+e)==3,
                m(d,a,f+e)='c';
            elseif v(d,a,f+e)==4,
                m(d,a,f+e)='d';
            elseif v(d,a,f+e)==5,
                m(d,a,f+e)='e';
            elseif v(d,a,f+e)==6,
                m(d,a,f+e)='f';
            elseif v(d,a,f+e)==7,
                m(d,a,f+e)='g';
            elseif v(d,a,f+e)==8,
                m(d,a,f+e)='i';
            elseif v(d,a,f+e)==9,
                m(d,a,f+e)='l';
            elseif v(d,a,f+e)==10,
                m(d,a,f+e)='m';
            elseif v(d,a,f+e)==11,
                m(d,a,f+e)='n';
            elseif v(d,a,f+e)==12,
                m(d,a,f+e)='o';
            elseif v(d,a,f+e)==13,
                m(d,a,f+e)='p';
            elseif v(d,a,f+e)==14,
                m(d,a,f+e)='r';
            elseif v(d,a,f+e)==15,
                m(d,a,f+e)='s';
            elseif v(d,a,f+e)==16,
                m(d,a,f+e)='t';
            elseif v(d,a,f+e)==17,
                m(d,a,f+e)='u'; 
            elseif v(d,a,f+e)==18,
                m(d,a,f+e)='v'; 
            elseif v(d,a,f+e)==19,
                m(d,a,f+e)='z';
            end
        end
        e=e+1;
    end
    d=1;
end

fprintf('\n');
fprintf('MATRIX 3D m\n');
fprintf('\n');
disp(m);
fprintf('\n');
fprintf('\n');
fprintf('INVERSE DIAGONAL MATRIX\n'); % X symmetry --> (10,:,10)
d=19;
for c=1:19,
    matricediagonalei(d,:)=m(d,:,c);
    d=d-1;
end
disp(matricediagonalei); % from 1° unconscious18 ist to 19° conscious ist with increasing priority
fprintf('\n');
fprintf('\n');
fprintf('DIAGONAL MATRIX\n');
d=19;
for c=1:19,
    matricediagonale(c,:)=m(d,:,c);
    d=d-1;
end
disp(matricediagonale); % from 19° conscious ist to 1° unconscious18 ist with increasing priority
fprintf('\n');
fprintf('\n');
fprintf('ELEMENT OF HALF: '); % (10,10,10)
disp(matricediagonalei(10,10)); % disp(matricediagonale(10,10));

% diagonal matrix - element of half = 360 elements
% inverse diagonal matrix - element of half = 360 elements
% elements = levels = degrees
% 360 elements = 360 levels = 360°

% (10,10) --> HALF --> 10° ELEMENT OF THE VECTOR 1° UNCONSCIOUS9 IST --> 361°

fprintf('\n');
fprintf('\n');
fprintf('INVERSE DIAGONAL MATRIX 2 TIME\n'); % Z symmetry --> (:,10,10)
d=0;
for c=1:19,
    for e=0:8,
        matricediagonalei2(c,c+e-d)=matricediagonalei(c,19-e);
    end
    d=d+1;
end
d=0;
for c=1:19,
    for e=9:18,
        matricediagonalei2(c,c+e-d)=matricediagonalei(c,19-e);
    end
    d=d+1;
end
disp(matricediagonalei2); % from 1° unconscious18 ist to 19° conscious ist with decreasing priority
fprintf('\n');
fprintf('\n');
fprintf('inverse DIAGONAL MATRIX\n'); % Z symmetry --> (:,10,10)
d=0;
for c=1:19,
    for e=0:8,
        matricediagonaleI(c,c+e-d)=matricediagonale(c,19-e);
    end
    d=d+1;
end
d=0;
for c=1:19,
    for e=9:18,
        matricediagonaleI(c,c+e-d)=matricediagonale(c,19-e);
    end
    d=d+1;
end
disp(matricediagonaleI); % from 19° conscious ist to 1° unconscious18 ist with decreasing priority
fprintf('\n');
fprintf('\n');
fprintf('INVERSE DIAGONAL MATRIX 3 TIME\n'); % X symmetry --> (10,:,10)
d=19;
for c=1:19,
    matricediagonalei3(c,:)=matricediagonalei2(d,:);
    d=d-1;
end
disp(matricediagonalei3); % from 19° conscious ist to 1° unconscious18 ist with decreasing priority 
fprintf('\n');
fprintf('\n');
fprintf('INVERSE DIAGONAL MATRIX 4 TIME = DIAGONAL MATRIX\n'); % Z symmetry --> (:,10,10)
d=0;
for c=1:19,
    for e=0:8,
        matricediagonalei4(c,c+e-d)=matricediagonalei3(c,19-e);
    end
    d=d+1;
end
d=0;
for c=1:19,
    for e=9:18,
        matricediagonalei4(c,c+e-d)=matricediagonalei3(c,19-e);
    end
    d=d+1;
end
disp(matricediagonalei4); % from 19° conscious ist to 1° unconscious18 ist with increasing priority
fprintf('\n');
fprintf('\n');
fprintf('inverse DIAGONAL MATRIX 2 TIME\n'); % X symmetry --> (10,:,10)
d=19;
for c=1:19,
    matricediagonaleI2(c,:)=matricediagonaleI(d,:);
    d=d-1;
end
disp(matricediagonaleI2); % from 1° unconscious18 ist to 19° conscious ist with decreasing priority 
fprintf('\n');
fprintf('\n');
fprintf('inverse DIAGONAL MATRIX 3 TIME\n'); % Z symmetry --> (:,10,10)
d=0;
for c=1:19,
    for e=0:8,
        matricediagonaleI3(c,c+e-d)=matricediagonaleI2(c,19-e);
    end
    d=d+1;
end
d=0;
for c=1:19,
    for e=9:18,
        matricediagonaleI3(c,c+e-d)=matricediagonaleI2(c,19-e);
    end
    d=d+1;
end
disp(matricediagonaleI3); % from 1° unconscious18 ist to 19° conscious ist with increasing priority
fprintf('\n');
fprintf('\n');
fprintf('inverse DIAGONAL MATRIX 4 TIME = DIAGONAL MATRIX\n'); % X symmetry --> (10,:,10)
d=19;
for c=1:19,
    matricediagonaleI4(c,:)=matricediagonaleI3(d,:);
    d=d-1;
end
disp(matricediagonaleI4); % from 19° conscious ist to 1° unconscious18 ist with increasing priority
fprintf('\n');
fprintf('\n');
fprintf('\n');

% 7 matrix = 9 matrix

% INVERSE diagonal matrix 4 TIME = DIAGONAL MATRIX --> pdx/2 = REFERENCE
% X symmetry --> Z movement
% INVERSE diagonal matrix 3 TIME
% Z symmetry --> X movement
% INVERSE diagonal matrix 2 TIME
% X symmetry --> Z movement
% INVERSE diagonal matrix
% Z symmetry --> X movement
% diagonal matrix --> PSX reference
% X symmetry --> Z movement
% inverse diagonal matrix
% Z symmetry --> X movement
% inverse diagonal matrix 2 time
% X symmetry --> Z movement
% inverse diagonal matrix 3 time
% Z symmetry --> X movement
% inverse diagonal matrix 4 time = diagonal matrix --> pdx/2 = reference
 
% PSX reference = pdx/2 PSX --> choice --> pdx/2 = reference
% PSX reference = PSX pdx/2 --> nochoice = PSX REFERENCE --> pdx/2 = REFERENCE

% reference PSX = PSX pdx/2 --> CHOICE --> reference = pdx/2
% reference PSX = pdx/2 PSX --> NOCHOICE = PSX REFERENCE --> REFERENCE = pdx/2


% PSX reference + 2 XZ movement --> pdx/2 = reference --> 2 XZ movement = T = 360°
% PSX reference + 2 XZ movement --> pdx/2 = REFERENCE --> 2 XZ movement = Y = 360°

% 2 PSX reference + 4 XZ movement --> pdx = reference + REFERENCE --> 4 XZ movement = TY = 720°

% 2 diagonal matrix + 720° --> pdx = reference + REFERENCE

% diagonal matrix + 360° --> pdx/2 = reference --> 360° = T
% diagonal matrix + 360° --> pdx/2 = REFERENCE --> 360° = Y

h=randperm(2);
hh=randperm(2);
X=randperm(19);
Z=randperm(19);
T=randperm(19);
fprintf('CHOICE OF THE POINT\n');
fprintf('\n');
if h(1,1)==1,
    fprintf('choice T --> nochoice Y -----> future T :      '); % 360° and 360°
    disp(T(1,1)); % future
    puntoT=T(1,1);
    puntoTY=puntoT;
    if hh(1,1)==1, % choice TXZ or TZX, nochoice YZX or YXZ
        fprintf('choice X --> nochoice Z -----> pos width X :   '); % 180° and 180°
        disp(X(1,1)); % pos width
        puntoXpos=X(1,1);
        fprintf('choice Z --> nochoice X -----> pos altitude Z :'); % 0° and 0°
        disp(Z(1,1)); % pos altitude
        puntoZpos=Z(1,1);
        puntoZ=puntoZpos;
    elseif hh(1,1)==2,
        fprintf('choice Z --> nochoice X -----> pos altitude Z :'); % 180° and 180°
        disp(Z(1,1)); % pos altitude
        puntoZpos=Z(1,1);
        fprintf('choice X --> nochoice Z -----> pos width X :   '); % 0° and 0°
        disp(X(1,1)); % pos width
        puntoXpos=X(1,1);
        puntoX=puntoXpos;
    end
elseif h(1,1)==2, % choice YXZ or YZX, nochoice TZX or TXZ
    fprintf('choice Y --> nochoice T -----> past T :        ');
    disp(T(1,19)); % past
    puntoY=T(1,19);
    puntoTY=puntoY;
    if hh(1,1)==1,
        fprintf('choice X --> nochoice Z -----> neg width X :   '); % 180° and 180°
        disp(X(1,19)); % neg width
        puntoXneg=X(1,19);
        fprintf('choice Z --> nochoice X -----> neg altitude Z :'); % 0° and 0°
        disp(Z(1,19)); % neg altitude
        puntoZneg=Z(1,19);
        puntoZ=puntoZneg;
    elseif hh(1,1)==2,
        fprintf('choice Z --> nochoice X -----> neg altitude Z :'); % 180° and 180°
        disp(Z(1,19)); % neg altitude
        puntoZneg=Z(1,19);
        fprintf('choice X --> nochoice Z -----> neg width X :   '); % 0° and 0°
        disp(X(1,19)); % neg width
        puntoXneg=X(1,19);
        puntoX=puntoXneg;
    end
end
fprintf('\n');
fprintf('\n');
fprintf('CHOICE OF THE INVERSE POINT\n');
fprintf('\n');
alfaT=19-T(1,1);
alfaY=19-T(1,19);
alfaXpos=19-X(1,1);
alfaXneg=19-X(1,19);
alfaZpos=19-Z(1,1);
alfaZneg=19-Z(1,19);
if h(1,1)==1,
    fprintf('choice T --> nochoice Y -----> future Y :      '); % 360° and 360°
    disp(alfaT+1); % past
    puntoinversoT=alfaT+1;
    puntoinversoTY=puntoinversoT;
    if hh(1,1)==1, % choice TXZ or TZX, nochoice YZX or YXZ
        fprintf('choice X --> nochoice Z -----> neg width X :   '); % 180° and 180°
        disp(alfaXpos+1); % neg width
        puntoXneg=alfaXpos+1;
        fprintf('choice Z --> nochoice X -----> neg altitude Z :'); % 0° and 0°
        disp(alfaZpos+1); % neg altitude
        puntoZneg=alfaZpos+1;
        puntoX=puntoXpos;
    elseif hh(1,1)==2,
        fprintf('choice Z --> nochoice X -----> neg altitude Z :'); % 180° and 180°
        disp(alfaZpos+1); % neg altitude
        puntoZneg=alfaZpos+1;
        fprintf('choice X --> nochoice Z -----> neg width X :   '); % 0° and 0°
        disp(alfaXpos+1); % neg width
        puntoXneg=alfaXpos+1;
        puntoZ=puntoZpos;
    end
elseif h(1,1)==2, % choice YXZ or YZX, nochoice TZX or TXZ
    fprintf('choice Y --> nochoice T -----> past Y :        ');
    disp(alfaY+1); % future
    puntoinversoY=alfaY+1;
    puntoinversoTY=puntoinversoY;
    if hh(1,1)==1,
        fprintf('choice X --> nochoice Z -----> pos width X :   '); % 180° and 180°
        disp(alfaXneg+1); % pos width
        puntoXpos=alfaXneg+1;
        fprintf('choice Z --> nochoice X -----> pos altitude Z :'); % 0° and 0°
        disp(alfaZneg+1); % pos altitude
        puntoZpos=alfaZneg+1;
        puntoX=puntoXneg;
    elseif hh(1,1)==2,
        fprintf('choice Z --> nochoice X -----> pos altitude Z :'); % 180° and 180°
        disp(alfaZneg+1); % pos altitude
        puntoZpos=alfaZneg+1;
        fprintf('choice X --> nochoice Z -----> pos width X :   '); % 0° and 0°
        disp(alfaXneg+1); % pos width
        puntoXpos=alfaXneg+1;
        puntoZ=puntoZneg;
    end
end
fprintf('\n');
fprintf('\n');
if ( h(1,1)==1 & hh(1,1)==1 ),
    deltaT=T(1,1)-10;
    fprintf('deltaT:    ');
    disp(deltaT);
    deltaXpos=X(1,1)-10;
    fprintf('deltaXpos: ');
    disp(deltaXpos);
    deltaZpos=Z(1,1)-10;
    fprintf('deltaZpos: ');
    disp(deltaZpos);
    deltaY=alfaT-9;
    fprintf('deltaY:    ');
    disp(deltaY);
    deltaXneg=alfaXpos-9;
    fprintf('deltaXneg: ');
    disp(deltaXneg);
    deltaZneg=alfaZpos-9;
    fprintf('deltaZneg: ');
    disp(deltaZneg);
end
if ( h(1,1)==1 & hh(1,1)==2 ),
    deltaT=T(1,1)-10;
    fprintf('deltaT:    ');
    disp(deltaT);
    deltaZpos=Z(1,1)-10;
    fprintf('deltaZpos: ');
    disp(deltaZpos);
    deltaXpos=X(1,1)-10;
    fprintf('deltaXpos: ');
    disp(deltaXpos);
    deltaY=alfaT-9;
    fprintf('deltaY:    ');
    disp(deltaY);
    deltaZneg=alfaZpos-9;
    fprintf('deltaZneg: ');
    disp(deltaZneg);
    deltaXneg=alfaXpos-9;
    fprintf('deltaXneg: ');
    disp(deltaXneg);
end
if ( h(1,1)==2 & hh(1,1)==1 ),
    deltaT=T(1,19)-10;
    fprintf('deltaY:    ');
    disp(deltaT);
    deltaXpos=X(1,19)-10;
    fprintf('deltaXneg: ');
    disp(deltaXpos);
    deltaZpos=Z(1,19)-10;
    fprintf('deltaZneg: ');
    disp(deltaZpos);
    deltaY=alfaY-9;
    fprintf('deltaT:    ');
    disp(deltaY);
    deltaXneg=alfaXneg-9;
    fprintf('deltaXpos: ');
    disp(deltaXneg);
    deltaZneg=alfaZneg-9;
    fprintf('deltaZpos: ');
    disp(deltaZneg);
end
if ( h(1,1)==2 & hh(1,1)==2 ),
    deltaT=T(1,19)-10;
    fprintf('deltaY:    ');
    disp(deltaT);
    deltaZpos=Z(1,19)-10;
    fprintf('deltaZneg: ');
    disp(deltaZpos);
    deltaXpos=X(1,19)-10;
    fprintf('deltaXneg: ');
    disp(deltaXpos);
    deltaY=alfaY-9;
    fprintf('deltaT:    ');
    disp(deltaY);
    deltaZneg=alfaZneg-9;
    fprintf('deltaZpos: ');
    disp(deltaZneg);
    deltaXneg=alfaXneg-9;
    fprintf('deltaXpos: ');
    disp(deltaXneg);
    fprintf('\n');
    fprintf('\n');
end

for T=1:19,
    for X=1:19,
        for Z=1:19,
            if m(X,Z,T)=='a',
                n(X,Z,T)='A';
                V(X,Z,T)=-1;
            elseif m(X,Z,T)=='b',
                n(X,Z,T)='B';
                V(X,Z,T)=-2;
            elseif m(X,Z,T)=='c',
                n(X,Z,T)='C';
                V(X,Z,T)=-3;
            elseif m(X,Z,T)=='d',
                n(X,Z,T)='D';
                V(X,Z,T)=-4;
            elseif m(X,Z,T)=='e',
                n(X,Z,T)='E';    
                V(X,Z,T)=-5;
            elseif m(X,Z,T)=='f',
                n(X,Z,T)='F';    
                V(X,Z,T)=-6;
            elseif m(X,Z,T)=='g',
                n(X,Z,T)='G';    
                V(X,Z,T)=-7;
            elseif m(X,Z,T)=='i',
                n(X,Z,T)='I'; 
                V(X,Z,T)=-8;
            elseif m(X,Z,T)=='l',
                n(X,Z,T)='L'; 
                V(X,Z,T)=-9;
            elseif m(X,Z,T)=='m',
                n(X,Z,T)='M'; 
                V(X,Z,T)=-10;
            elseif m(X,Z,T)=='n',
                n(X,Z,T)='N'; 
                V(X,Z,T)=-11;
            elseif m(X,Z,T)=='o',
                n(X,Z,T)='O'; 
                V(X,Z,T)=-12;
            elseif m(X,Z,T)=='p',
                n(X,Z,T)='P'; 
                V(X,Z,T)=-13;
            elseif m(X,Z,T)=='r',
                n(X,Z,T)='R'; 
                V(X,Z,T)=-14;
            elseif m(X,Z,T)=='s',
                n(X,Z,T)='S'; 
                V(X,Z,T)=-15;
            elseif m(X,Z,T)=='t',
                n(X,Z,T)='T'; 
                V(X,Z,T)=-16;
            elseif m(X,Z,T)=='u',
                n(X,Z,T)='U'; 
                V(X,Z,T)=-17;
            elseif m(X,Z,T)=='v',
                n(X,Z,T)='V'; 
                V(X,Z,T)=-18;
            elseif m(X,Z,T)=='z',
                n(X,Z,T)='Z'; 
                V(X,Z,T)=-19;
            end
        end
    end
end
fprintf('\n');
fprintf('\n');
fprintf('\n');
fprintf('\n');
fprintf('MATRIX 3D n\n');
fprintf('\n');
disp(n);

% v --> 19x19x19 --> pos elements
% V --> 19x19x19 --> neg elements
% m --> 19x19x19 --> min letters
% n --> 19x19x19 --> max letters

% V = -v
% n = anti m

% 361° - (10,10,10) = 360° --> diagonal matrix v=m
% 361° - (10,10,10) = 360° --> diagonal matrix V=n

% 2 diagonal matrix = 720°

% 2 diagonal matrix = 4 XZ movement
% 2 diagonal matrix = TY
% 720° = 720°

% diagonal matrix = 2 XZ movement
% diagonal matrix = T = Y
% 360° = 360°

% T=19 --> X=1
% T=18 --> X=1,2
% T=17 --> X=1,2,3
% T=16 --> X=1,2,3,4
% T=15 --> X=1,2,3,4,5
% T=14 --> X=1,2,3,4,5,6
% T=13 --> X=1,2,3,4,5,6,7
% T=12 --> X=1,2,3,4,5,6,7,8
% T=11 --> X=1,2,3,4,5,6,7,8,9
% T=10 --> X=1,2,3,4,5,6,7,8,9,10
% T=9 --> X=1,2,3,4,5,6,7,8,9,10,11
% T=8 --> X=1,2,3,4,5,6,7,8,9,10,11,12
% T=7 --> X=1,2,3,4,5,6,7,8,9,10,11,12,13
% T=6 --> X=1,2,3,4,5,6,7,8,9,10,11,12,13,14
% T=5 --> X=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
% T=4 --> X=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
% T=3 --> X=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
% T=2 --> X=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
% T=1 --> X=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19

if h(1,1)==2,
    memory=puntoXpos;
    puntoXpos=puntoXneg;
    puntoXneg=memory;
    memory=puntoZpos;
    puntoZpos=puntoZneg;
    puntoZneg=memory;
end
    
if ( h(1,1)==1 & hh(1,1)==1 ),
    fprintf('pointT:   ');
    disp(puntoT);
    fprintf('pointXpos:');
    disp(puntoXpos);    
    fprintf('pointZpos:');
    disp(puntoZpos);    
    fprintf('pointY:       ');
    disp(puntoinversoT);    
    fprintf('pointXneg:    ');
    disp(puntoXneg);    
    fprintf('pointZneg:    ');
    disp(puntoZneg);
elseif ( h(1,1)==1 & hh(1,1)==2 ),
    fprintf('pointT:   ');
    disp(puntoT);
    fprintf('pointZpos:');
    disp(puntoZpos);    
    fprintf('pointXpos:');
    disp(puntoXpos);    
    fprintf('pointY:       ');
    disp(puntoinversoT);    
    fprintf('pointZneg:    ');
    disp(puntoZneg);    
    fprintf('pointXneg:    ');
    disp(puntoXneg);
elseif ( h(1,1)==2 & hh(1,1)==1 ),
    fprintf('pointY:   ');
    disp(puntoY);
    fprintf('pointXneg:');
    disp(puntoXpos);    
    fprintf('pointZneg:');
    disp(puntoZpos);    
    fprintf('pointT:       ');
    disp(puntoinversoY);    
    fprintf('pointXpos:    ');
    disp(puntoXneg);    
    fprintf('pointZpos:    ');
    disp(puntoZneg);
elseif ( h(1,1)==2 & hh(1,1)==2 ),
    fprintf('pointY:   ');
    disp(puntoY);
    fprintf('pointZneg:');
    disp(puntoZpos);    
    fprintf('pointXneg:');
    disp(puntoXpos);    
    fprintf('pointT:       ');
    disp(puntoinversoY);    
    fprintf('pointZpos:    ');
    disp(puntoZneg);    
    fprintf('pointXpos:    ');
    disp(puntoXneg);
end

fprintf('\n');
eta=[abs(deltaXpos) abs(deltaZpos) abs(deltaT)];
maxeta=max(eta);
if (maxeta==abs(deltaXpos) & deltaXpos>=0),
    et=deltaXpos;
elseif (maxeta==abs(deltaXpos) & deltaXpos<0),
    et=-deltaXpos;
end
if (maxeta==abs(deltaZpos) & deltaZpos>=0),
    et=deltaZpos;
elseif (maxeta==abs(deltaZpos) & deltaZpos<0),
    et=-deltaZpos;
end
if (maxeta==abs(deltaT) & deltaT>=0),
    et=deltaT;
elseif (maxeta==abs(deltaT) & deltaT<0),
    et=-deltaT;
end

fprintf('choice point = '); 
disp(m(puntoXpos,puntoZpos,puntoTY));
fprintf('\n');
fprintf('inverse point = '); 
disp(m(puntoXneg,puntoZneg,puntoinversoTY));    
fprintf('\n');
fprintf('\n');
fprintf('minimum distance of the choice point to element of half:  ');
disp(et);  
fprintf('minimum distance of the inverse point to element of half: ');
disp(-et);
fprintf('\n'); 

% AREA & VOLUME
% 1 coordinate --> area and volume
% 2 coordinates --> area and volume, max to 2 
% 3 coordinates --> area and volume, max to 3

a=abs(deltaT)+abs(deltaY);
fprintf('diameterTY:');
disp(a);
b=abs(deltaXpos)+abs(deltaXneg);
fprintf('diameterX: ');
disp(b);
c=abs(deltaZpos)+abs(deltaZneg);
fprintf('diameterZ: ');
disp(c);
fprintf('\n');
diametro=[a b c];
maxdiametro=max(diametro);
area=(maxdiametro+1)^2;
volume=(maxdiametro+1)^3;
fprintf('area:        ');
disp(area);
fprintf('volume:');
disp(volume);
fprintf('\n'); 