% posktupp,  konstruera påsktupp genom styckvis interpolation 
  clear, clf
  t=(0:0.02:1)'; 
% Ryggen, tre punkter med givna derivator
  x=[0 3 6]';  y=[6 5 6]';  k=[2.5 0 -1.5]';
  h=diff(x);  dy=diff(y);
  g=h.*k(1:2)-dy;  c=2*dy-h.*(k(1:2)+k(2:3));
  X=[]; Yrygg=[];  
  for i=1:2
    xi=x(i)+t*h(i);  X=[X; xi]; 
    yi=y(i)+t*dy(i)+t.*(1-t)*g(i)+t.^2.*(1-t)*c(i);  Yrygg=[Yrygg; yi]; 
  end
  plot(x,y,'+', X,Yrygg), axis equal, axis square, hold on
  xkam=4.6:0.01:5.7;                        % kammens x-intervall  
  tk=(xkam-x(2))/h(2);                      % lokala t-variabelvärden
  ykam=y(2)+tk*dy(2)+tk.*(1-tk)*g(2)+tk.^2 .*(1-tk)*c(2);
  zkam=ykam+0.2*(1-cos(9*pi*(xkam-4.6)));   % cosinuskurva för kammen
  plot(xkam,zkam,'r')
% Buken, kubiska splines med given derivata vid näbben
  n=5;  x=[0 1 2 4 6]';  y=[3 4 3 2 6]';  plot(x,y,'x'); 
  h=diff(x);  dy=diff(y);
  ha=h(1:n-2);  hb=h(2:n-1);
  dia=[2*h(1); 2*(ha+hb); 1];  p=[h(1); ha];  q=[hb; 0]; 
  b=3*[dy(1); ha.*dy(2:n-1)./hb + hb.*dy(1:n-2)./ha; 0]; 
  k=tridia(dia,p,q,b);
  g=h.*k(1:n-1)-dy;  c=2*dy-h.*(k(1:n-1)+k(2:n));
  Xbuk=[]; Ybuk=[];  
  for i=1:n-1 
    xi=x(i)+t*h(i);  Xbuk=[Xbuk; xi]; 
    yi=y(i)+t*dy(i)+t.*(1-t)*g(i)+t.^2.*(1-t)*c(i);  Ybuk=[Ybuk; yi]; 
    if i==1 | i==2
      for j=1:5, plot(xi,yi+0.5*j,'--'), end     % stjärtfjädrar
    end
  end
  plot(Xbuk,Ybuk)
  disp('Klicka öga'), [x,y]=ginput(1); plot(x,y,'o')
  disp('Klicka benplacering'), [x,y]=ginput(1); plot(x,y,'*')
  plot([x x x+0.5 x x-0.3],[y 0.2 0.1 0.2 0.2],'-')



  
