% Problema 1.8
% Geometria Diferencial, FME, UPC
% 2021/03/05

% > 1.8. D'una corba gamma: [0, L] --> R^3 en coneixem un núvol de punts
% > gamma(t_1), ..., gamma(t_n), que tenim emmagatzemats en ordre com a columnes
% > d'una matriu C.

% Figura 1: Circumferència de radi R=2
R1 = 2;
t1 = linspace(0, 2*pi, 361);
x1 = R1*cos(t1);
y1 = R1*sin(t1);
gamma1 = [x1; y1];

% Dibuix de verificació
%figure(1)
%p = plot(x1, y1);
%axis equal

% Figura 2: Hèlix amb R=2, c=1/3
R2 = 2;
c2 = 1/3;
t2 = linspace(-4*pi, 8*pi, 601);
gamma2 = [R2*cos(t2); R2*sin(t2); c2*t2];

% Dibuix de verificació
%figure(2)
%plot3(gamma2(1, :), gamma2(2, :), gamma2(3, :));
%axis equal
%xlabel('x')
%ylabel('y')
%zlabel('z')

%waitfor(p)

% > (a) Escriviu una funció |arc| de Matlab que rebi com a argument la matriu C
% >     i retorni un vector fila |longs| amb les longituds dels segments de la
% >     corba poligonal bar{C} que uneix els punts de C.
longs1 = arc(gamma1);
longs2 = arc(gamma2);

% > (b) Escriviu una funció |gir| de Matlab que calculi l'angle de gir de la
% >     corba poligonal bar{C} en cada vèrtex interior, i retorni un vector
% >     fila amb aquests angles.
anggir1 = gir(gamma1);
anggir2 = gir(gamma2);

% > (c) Donat un vèrtex interior V, podem considerar com a pla osculador de la
% >     poligonal en ell el determinat per les dues arestes de la corba que
% >     passen per V, com a centre de curvatura el centre del cercle en aquest
% >     pla que passa pels tres extrems de les dues arestes, i com a curvatura
% >     l'invers del radi d'aquest cercle. Escriviu una funció de Matlab amb
% >     capçalera |[kappa, ccurv] = curv_centre(C)| que rebi la llista de
% >     vèrtexs C de la corba poligonal i retorni la llista de valors de la
% >     curvatura com a vector fila |kappa|, i els centres de curvatura com a
% >     columnes d'una matriu |ccurv|.
[kappa1, ccurv1] = curv_centre(gamma1);
max(kappa1)
min(kappa1)
max(ccurv1(1, :))
min(ccurv1(1, :))
max(ccurv1(2, :))
min(ccurv1(2, :))

[kappa2, ccurv2] = curv_centre(gamma2);
max(kappa2)
min(kappa2)

% Aproximem la curvatura contínua de la corba?
pseudocurvatura1 = anggir1./longs1(1:end-1);
pseudocurvatura2 = anggir2./longs2(1:end-1);

max(pseudocurvatura1 - 0.5)
min(pseudocurvatura1 - 0.5)
max(kappa1 - 0.5)
min(kappa1 - 0.5)
