GraphingCalculator 4; Window 46 6 846 1326; PaneDivider 458; SignificantDigits 14; FontSizes 14; BackgroundType 0; BackgroundColor 255 255 255; StackPanes 1; T 0 10; U -10 10; V -10 10; 3D.X -8 8; 3D.Y -8 8; 3D.Z -8 8; 3D.Depth 0.3830909742999999; 3D.View 0.1266043784533369 -0.9880175517890777 -0.08827598544107323 0.912750945544069 0.1508786540236524 -0.3796331703918732 0.388403197281439 -0.03251076758790789 0.9209158524127353; 3D.Speed 0; Text "Differential geometry of curves. Frenet Vectors. Version 0.4 To do: (i) Execute the f'ing osculating circle as a parameterized curve. Path X. For now, just a spiral with variable radius and pitch."; Color 5; MathPaneSlider 70; Expr A=slider([0,10]); Color 6; MathPaneSlider 49; Expr p=slider([0,1]); Color 5; Expr function(f,x)=A*cos(x),function(g,x)=A*sin(x),function(h,x)=p*x; Text "Plotting can be twitchy (osculating circle in particular flickers between locations):"; Expr function(F,x)=A*cos(x)*[1+a*cos(P*x)],function(G,x)=A*sin(x)*[1+a*cos(P*x)],function(H,x)=p*x; Color 3; MathPaneSlider 93; Expr a=slider([0,0.3]); Color 4; MathPaneSlider 7; Expr P=slider([0,10,10]); Text "Swap names X <<-> Y to get curve other than the spiral"; Color 3; Expr function(Y,t)=vector(function(f,t),function(g,t),function(h,t)); Color 2; Expr function(X,t)=vector(function(F,t),function(G,t),function(H,t)); Text "Frenet vectors: the unit tangent T, normal N and binormal B (possibly with sign of latter reversed). "; Color 5; Expr function(T,t)=1/abs(function(oppartial(t),function(X,t)))*[function(oppartial(t),function(X,t))]; Color 7; Expr function(N,t)=(function(oppartial(t),function(oppartial(t),function(X,t)))-([dot([function(oppartial(t),function(oppartial(t),function(X,t)))],function(T,t))]*function(T,t)))/abs(function(oppartial(t),function(oppartial(t),function(X,t)))-([dot([function(oppartial(t),function(oppartial(t),function(X,t)))],function(T,t))]*function(T,t))); Color 8; Expr function(B,t)=cross(function(T,t),function(N,t))/abs(cross(function(T,t),function(N,t))); Text "Curvature and radius of curvature:"; Color 2; Expr function(k,t)=abs(cross([function(oppartial(t),function(X,t))],[function(oppartial(t),function(oppartial(t),function(X,t)))]))/abs(function(oppartial(t),function(X,t)))^3; Color 4; Expr function(R,t)=1/function(k,t); Color 17; Expr function(R,s); Text "Standard unit vectors:"; Color 6; Expr O=vector(0,0,0),I=vector(1,0,0),J=vector(0,1,0),K=vector(0,0,1); Color 7; Expr Z=vector(x,y,z); Color 4; MathPaneSlider 96; Expr W=slider([0,0.01]); Text "Path:"; Color 6; Grain 0; Expr function(X,t); Text "Coordinate frame along curve defined by Frenet vectors:"; Color 7; MathPaneSlider 173; Expr s=slider([0,2]); Grain 0; Expr function(X,s); Color 2; Expr function(X,s),function(X,s)+function(T,s),'radius'=W; Color 3; Expr function(X,s),function(X,s)+function(N,s),'radius'=W; Color 8; Expr function(X,s),function(X,s)+function(B,s),'radius'=W; Text "Osculating circle and its center:"; Color 17; Grain 0; Expr function(X,s)+function(N,s)*function(R,s); Color 7; Expr dot([Z-[function(X,s)+function(N,s)*function(R,s)]],function(B,s))=0,abs(Z-[function(X,s)+function(N,s)*function(R,s)])";