% preg 4, lab 6, 521230, S2-2013

% interpolar contorno de una pieza

data = load('pieza');
plot(data.x1,data.y1,'ro');
hold on
plot(data.x2,data.y2,'bo');
plot(data.x3,data.y3,'ko');

% splines cubicos que interpolan cada uno de los tramos que forman el
% contorno de la pieza
s1 = spline(data.x1,data.y1);
s2 = spline(data.x2,data.y2);
s3 = spline(data.x3,data.y3);

x1min = min(data.x1);
x1max = max(data.x1);
plot(linspace(x1min,x1max),ppval(s1,linspace(x1min,x1max)),'r');

x2min = min(data.x2);
x2max = max(data.x2);
plot(linspace(x2min,x2max),ppval(s2,linspace(x2min,x2max)),'b');

x3min = min(data.x3);
x3max = max(data.x3);
plot(linspace(x3min,x3max),ppval(s3,linspace(x3min,x3max)),'k');

% polinomios que interpolan cada uno de los contornos de la pieza
p1 = polyfit(data.x1,data.y1,length(data.x1)-1);
p2 = polyfit(data.x2,data.y2,length(data.x2)-1);
p3 = polyfit(data.x3,data.y3,length(data.x3)-1);

x1min = min(data.x1);
x1max = max(data.x1);
plot(linspace(x1min,x1max),polyval(p1,linspace(x1min,x1max)),'.-r');

x2min = min(data.x2);
x2max = max(data.x2);
plot(linspace(x2min,x2max),polyval(p2,linspace(x2min,x2max)),'.-b');

x3min = min(data.x3);
x3max = max(data.x3);
plot(linspace(x3min,x3max),polyval(p3,linspace(x3min,x3max)),'.-k');
