FrenetFrame.mw  


with(plots); -1; with(plottools); -1 

r := proc (t) options operator, arrow; a*cos(omega*t), a*sin(omega*t), b*t end proc 

proc (t) options operator, arrow; a*cos(omega*t), a*sin(omega*t), b*t end proc 

V := proc (t) options operator, arrow; -a*omega*sin(omega*t)/sqrt(a^2*omega^2+b^2), a*omega*cos(omega*t)/sqrt(a^2*omega^2+b^2), b/sqrt(a^2*omega^2+b^2) end proc 

proc (t) options operator, arrow; -a*omega*sin(omega*t)/sqrt(a^2*omega^2+b^2), a*omega*cos(omega*t)/sqrt(a^2*omega^2+b^2), b/sqrt(a^2*omega^2+b^2) end proc 

simplify(LinearAlgebra[Norm](Vector([V(t)]), 2), symbolic) 

1 

N := proc (t) options operator, arrow; -cos(omega*t), -sin(omega*t), 0 end proc 

proc (t) options operator, arrow; -cos(omega*t), -sin(omega*t), 0 end proc 

simplify(LinearAlgebra[Norm](Vector([N(t)]), 2), symbolic) 

1 

simplify(LinearAlgebra[Transpose](LinearAlgebra[CrossProduct](Vector([V(t)]), Vector([N(t)])))) 

(Typesetting:-mprintslash)([Vector[row]([b*sin(omega*t)/(a^2*omega^2+b^2)^(1/2), -b*cos(omega*t)/(a^2*omega^2+b^2)^(1/2), a*omega/(a^2*omega^2+b^2)^(1/2)])], [Vector[row](%id = 19927652)]) 

B := proc (t) options operator, arrow; b*sin(omega*t)/sqrt(a^2*omega^2+b^2), -b*cos(omega*t)/sqrt(a^2*omega^2+b^2), a*omega/sqrt(a^2*omega^2+b^2) end proc 

proc (t) options operator, arrow; b*sin(omega*t)/sqrt(a^2*omega^2+b^2), -b*cos(omega*t)/sqrt(a^2*omega^2+b^2), a*omega/sqrt(a^2*omega^2+b^2) end proc 

simplify(LinearAlgebra[Norm](Vector([B(t)]), 2), symbolic) 

1 

rarrow := proc (tau) options operator, arrow; arrow([0, 0, 0], [r(tau)], 0.5e-1, .15, .2, color = red) end proc; 1; Tarrow := proc (tau) options operator, arrow; arrow([r(tau)], Vector([V(tau)]), .1, ...
rarrow := proc (tau) options operator, arrow; arrow([0, 0, 0], [r(tau)], 0.5e-1, .15, .2, color = red) end proc; 1; Tarrow := proc (tau) options operator, arrow; arrow([r(tau)], Vector([V(tau)]), .1, ...
rarrow := proc (tau) options operator, arrow; arrow([0, 0, 0], [r(tau)], 0.5e-1, .15, .2, color = red) end proc; 1; Tarrow := proc (tau) options operator, arrow; arrow([r(tau)], Vector([V(tau)]), .1, ...
rarrow := proc (tau) options operator, arrow; arrow([0, 0, 0], [r(tau)], 0.5e-1, .15, .2, color = red) end proc; 1; Tarrow := proc (tau) options operator, arrow; arrow([r(tau)], Vector([V(tau)]), .1, ...
rarrow := proc (tau) options operator, arrow; arrow([0, 0, 0], [r(tau)], 0.5e-1, .15, .2, color = red) end proc; 1; Tarrow := proc (tau) options operator, arrow; arrow([r(tau)], Vector([V(tau)]), .1, ...
 

proc (tau) options operator, arrow; (plottools:-arrow)([r(tau)], Vector([B(tau)]), .1, .2, .2, color = black) end proc 

frmrTNB := proc (tau) options operator, arrow; display([rarrow(tau), Tarrow(tau), Narrow(tau), Barrow(tau), baseplt]) end proc; 1 

proc (tau) options operator, arrow; display([rarrow(tau), Tarrow(tau), Narrow(tau), Barrow(tau), baseplt]) end proc 

a, b, omega := 2, 2, 2*Pi 

2, 2, 2*Pi 

rng := t = 0 .. 2 

t = 0 .. 2 

baseplt := spacecurve([r(t), rng], numpoints = 151, color = blue); -1; nops(%) 

1 

n := 80; -1; pltseq := [seq(frmrTNB(2*i/n), i = 0 .. n)]; -1 

display(pltseq, axes = normal, orientation = ([35, 65]), insequence = true) 

Plot