f := t -> t^2*i + (1-t)^2*j + t^3*k; Dfs := D(f)(s); L := t -> f(s) + t*Dfs; with(plots): C := spacecurve(evalm(f(t)),t=-2..2): s:=0; L0:= spacecurve(evalm(L(t)), t=-2..2,color=GREEN): s:=1; L1 := spacecurve(evalm(L(t)),t=-2..2,color=GREEN): display3d({C,L0,L1},orientation=[-112,45],axes=framed,scaling=constrained); len := proc(u) sqrt(innerprod(evalm(u),evalm(u))); end; T := s -> D(f)(s)/len(D(f)(s)); Ns := collect(diff(T(s),s)/len(diff(T(s),s)),[i,j,k]); N := unapply(Ns,s): T(0), simplify(N(0)); T(1), simplify(N(1)); innerprod(T(1),N(1)); innerprod(T(s),N(s));