%------------------------------
%Exemples de Quàdriques: (descomentar per executar)
%------------------------------
p=[3, 2, 3, 0, -2, 0, -2, -4, -2, -5]; % El·lipsoide real
% p=[3, 2, -1, -4, 2, 2, 3, -2, 1, 4.3]; % Hyperboloide d'una fulla
% p=[1, 1, -1, 0, 0, 0, 0, 0, 0, -1]; % Hyperboloide de dues fulles
% p=[3, 0, -2, 0, 0, 0, 0, 0, 0, -1.3]; % Cilindre hiperbòlic
% p=[1, 1, 0, 2, 0, 0, 0, -2, 2, 0]; % Cilindre parabòlic
% p=[3, 2, 0, 0, 0, 0, 0, 0, 0, -1]; % Cilindre el·liptic
% p=[3, -1, 2, 0, 0, 0, -6, -4, 4, 1]; % Con Real
% p=[3, 0, -1, 0, 0, 0, 1.2, 1, -1, 1]; % Paraboloide hiperbòlic
% p=[3, 0, 1, 0, 0, 0, 1.2, 1, -1, 1]; % Paraboloide el·liptic
% definim la matriu A de la quàdrica (simètrica) i la part quadràtica T
A(1,1)=p(1); A(2,2)=p(2); A(3,3)=p(3);
A(1,2)=p(4)/2; A(2,1)=A(1,2);
A(1,3)=p(5)/2; A(3,1)=A(1,3);
A(2,3)=p(6)/2; A(3,2)=A(2,3);
A(1,4)=p(7)/2; A(4,1)=A(1,4);
A(2,4)=p(8)/2; A(4,2)=A(2,4);
A(3,4)=p(9)/2; A(4,3)=A(3,4);
T=A(1:3,1:3) %submatriu 3x3
A
3 0 -1 -1
0 2 0 -2
-1 0 3 -1
-1 -2 -1 -5
if (iPos ==2 && iZer ==1 && rangA ==3)
disp('Cilindre El.liptic');
cilindre_elliptic_plot(vaps(1),vaps(2),vaps(3));
disp('Podria ser també imaginari');
if (iPos ==1 && iNeg ==1 && iZer ==1 && rangA ==3)
disp('Cilindre Hyperbolic');
cilindre_hyperbolic_plot(vaps(1),vaps(2));
if (iPos ==1 && iZer ==2 && rangA ==3)
disp('Cilindre Parabolic');
cilindre_parabolic_plot(vaps(1));