Tangentvektor, tvaervektor til tangenten og oskulerende cirkel.Her plottes en plan kurve, dens enhedstangentvektor, tvaervektor til enhedsvektoren samt den oskulerende cirkel.
restart;with(plots):with(plottools):
setoptions(scaling=constrained):
fra2:=proc(x,y,a,b,N,xl,xr,yl,yr)
local A,P,x1,y1,x2,y2,ab,l,lth,den,sp,k;
ab:=abs(subs(t=b,x)-subs(t=a,x)):
setoptions(view=[xl..xr,yl..yr]):
x1:=diff(x,t);y1:=diff(y,t);x2:=diff(x1,t);y2:=diff(y1,t);l:=x1^2+y1^2;lth:=sqrt(l);den:=x1*y2-x2*y1;
A:=plot([x,y,t=a..b],color=blue,thickness=3):
P:=k->display([A,disk([subs(t=a+k/N*(b-a),x),subs(t=a+k/N*(b-a),y)],ab/32,color=red),line([subs(t=a+k/N*(b-a),x),subs(t=a+k/N*(b-a),y)],[subs(t=a+k/N*(b-a),x)+subs(t=a+k/N*(b-a),x1)/evalf(subs(t=a+k/N*(b-a),lth)),subs(t=a+k/N*(b-a),y)+subs(t=a+k/N*(b-a),y1)/evalf(subs(t=a+k/N*(b-a),lth))],color=magenta,thickness=2),line([subs(t=a+k/N*(b-a),x),subs(t=a+k/N*(b-a),y)],[subs(t=a+k/N*(b-a),x)-subs(t=a+k/N*(b-a),y1)/evalf(subs(t=a+k/N*(b-a),lth)),subs(t=a+k/N*(b-a),y)+subs(t=a+k/N*(b-a),x1)/evalf(subs(t=a+k/N*(b-a),lth))],color=green,thickness=2),circle([subs(t=a+k/N*(b-a),x)-subs(t=a+k/N*(b-a),l*y1/den),subs(t=a+k/N*(b-a),y)+subs(t=a+k/N*(b-a),l*x1/den)],evalf((subs(t=a+k/N*(b-a),lth)))^3/subs(t=a+k/N*(b-a),den),color=black)]):
sp:=[seq(P(k),k=1..N-1)]:
display(sp,insequence=true)end;Input til proceduren er: x og y-koordinaterne til en parametrisering, det interval, kurven er defineret paa, antallet af trin i animationen og koordinaterne for det vindue i x-y-planen, man vil se det i.Eksempelvis er her kurven (t,t^2) med t i intervallet [-1,1], 16 step i interpolationen, plottet med -1,5 <x <1,5 og -0,5 <y < 1,5.fra2(t,t^2,-1,1,16,-1.5,1.5,-0.5,1.5);Billedet er en animation - hoejreklik og vaelg Animation.fra2(t*cos(t),t*sin(t),0,2*Pi,32,-7,7,-7,7);Her vender den groenne vektor foerst vaek fra krumningscirklen. Den groenne er ikke normalvektoren fra Edwards and Penney, men tvaervektor til enhedstangentvektoren.fra2(t,sin(t),0.1,6,32,-1,7,-1.5,1.5);