Derivatives and Tangent Surfaces

The de Casteljau algorithm may be used to calculate derivatives, which are sometimes called hodographs :

dca[b_,r_,i_,t_]:=If [r==0,b[[i+1]],(1-t)*dca[b,r-1,i,t]+t*dca[b,r-1,i+1,t]];

(*b={{0,0},{0,1},{1,1},{1,0}};*)
b={{0,0,0},{1,0,0},{1,1,0},{1,1,1}};
n=Length[b]-1;
first[b_,t_]:=(dca[b,n-1,1,t]-dca[b,n-1,0,t]);

curve=ParametricPlot3D[dca[b,n,0,t],{t,0,1},PlotStyle->{Thick,Green}];
hodo:=ParametricPlot3D[first[b,t],{t,0,1},PlotStyle->{Thick,Red}];
poly=Graphics3D[{Thick,Green,Line[b]}];


Show[{poly,curve,hodo}];

If we plot all tangent lines toa space curve, we obtain the tangent surface.  It is an example of a developable surface.

develop[b_,t_,u_]:=dca[b,n,0,t]+u*first[b,t];
devplot=ParametricPlot3D[develop[b,t,u],{t,0,1},{u,0,1},Mesh->None,PlotRange->Automatic];
Show[{devplot,curve}];