# This stuff at the top is just documentation; cut and paste the stuff # below the #s into Maple. # # Briefly: # # rv(x(t),y(t),z(t),a,b,c,thick) draws the parametric curve # r(t)=(x(t),y(t),z(t)) for a<=t<=b, and at the point t=c, draws the # velocity vector r'(c). # # rva(x(t),y(t),z(t),a,b,c,thick) draws the parametric curve # r(t)=(x(t),y(t),z(t)) for a<=t<=b, and at the point t=c, draws the # velocity vector r'(c) and the acceleration vector a'(c). # with(plots): rv := proc (x,y,z,a,b,c,thick) local r,rplot,v,vplot; r := [x,y,z]; rplot := tubeplot(r,t=a..b,radius=thick,axes=normal); v := [diff(x,t),diff(y,t),diff(z,t)]; vplot := arrow(eval(r,t=c),eval(v,t=c),width=thick,color=red); display3d({rplot,vplot}); end proc: rva := proc (x,y,z,a,b,c,thick) local r,rplot,v,vplot,acc,accplot; r := [x,y,z]; rplot := tubeplot(r,t=a..b,radius=thick,axes=normal); v := [diff(x,t),diff(y,t),diff(z,t)]; vplot := arrow(eval(r,t=c),eval(v,t=c),width=thick,color=red); acc := [diff(v[1],t),diff(v[2],t),diff(v[3],t)]; accplot := arrow(eval(r,t=c),eval(acc,t=c),width=thick,color=blue); display3d({rplot,vplot,accplot}); end proc: tubeplot([cos(t),sin(t),-t],t=-Pi..2*Pi,radius=0.1,axes=normal); rv(cos(t),sin(t),t,0,2*Pi,3*Pi/2,0.05); rva(cos(t),sin(t),t,0,2*Pi,3*Pi/2,0.05);