# Plotting problem

I was wondering why I keep receiving the error message

"Derivative should be a triple of numbers, or scaled form"


from the following code

uT[t_] := Simplify[r'[t]/Norm[r'[t]]]

vN[t_] := Simplify[uT'[t]/Norm[uT'[t]]]

vB[t_] := Simplify[Cross[r'[t], r''[t]]/Norm[Cross[r'[t], r''[t]]]]

N[Evaluate[uT[7 Pi/2]]]

{0., 0.894427, 0.447214}

N[Evaluate[vN[7 Pi/2]]]

{-(2./Sqrt[4. + 0.00900633 Abs[2.23607 - 1. Derivative[1][Norm][{0., 3., 1.5}]]^2]),
0., ( 2.23607 - 1. Derivative[1][Norm][{0., 3., 1.5}])/Sqrt[444.132 + Abs[2.23607 - 1.
Derivative[1][Norm][{0., 3., 1.5}]]^2]}

N[Evaluate[vB[7 Pi/2]]]

{0.0944772, -0.445213, 0.890426}

N[Evaluate[uT[13 Pi/2]]]

{0., -0.607287, -0.794483}

N[Evaluate[vN[13 Pi/2]]]

(*out56*)
{50696.9/Sqrt[2.57017*10^9 + 9. Abs[2534.84 + 1539.38 Derivative[1][Norm][{0.,
-2.29314, -3.}]]^2], (3. (2534.84 + 1539.38 Derivative[1][Norm][{0., -2.29314,
-3.}]))/Sqrt[ 2.57017*10^9 + 9. Abs[2534.84 + 1539.38 Derivative[1][Norm][{0.,
-2.29314, -3.}]]^2], 0.}

N[Evaluate[vB[13 Pi/2]]]

{0.118335, -0.7889, 0.60302}

Cter = ParametricPlot3D[r[t], {t, 0, 10 Pi}, PlotStyle -> Directive[Blue, Thick]];

stp = Graphics3D[{Opacity[.5], Black, Sphere[r[0], .5]}];

TNBPlot = Graphics3D[{Arrowheads[.07], Thickness[.15], Yellow,
Arrow[{N[uT[7 Pi/2]], N[uT[13 Pi/2]]}], Green,
Arrow[{N[vN[7 Pi/2]], N[vN[13 Pi/2]]}], Blue,
Arrow[{N[vB[7 Pi/2]], N[vB[13 Pi/2]]}]}];

Show[Cter, stp, TNBPlot, PlotRange -> All]


I did narrow it down to the equation to (*out56*), the equation for the Normal Vector. I haven't posted the actual function, because there's a bunch of questions up already pertaining to it, and I didn't want to give the impression that I'm trying to offload my homework onto anyone. Additionally, when I did have it working, I couldn't get the vectors to display properly. Could that possibly be due to the program considering the vectors and the actual 3D-Parametric plot as separate entities or something?

-
Your error message is saying (I think) "Coordinate (...) should be a triple of numbers." The points can't be plotted because vN doesn't seem to produce any numbers, just Norm' expressions, which causes that error. – cormullion Oct 3 '13 at 8:50
Could you please add the definition of r too? Never, NEVER assume that we can figure out its value, or that we can solve the problem in a symbolic way for any r! – István Zachar Oct 17 '13 at 6:04

There are probably more elegant answers. I post this for illustrative purposes:

r[t_] := {Cos[t], Sin[t], t}
tangent[t_] := Normalize@(r'[t])
normal[t_] := Normalize@(r''[t])
binormal[t_] := Normalize@(Cross[tangent[t], normal[t]])

vec = Arrow /@ {{r[#], r[#] + tangent[#]}, {r[#],
r[#] + normal[#]}, {r[#], r[#] + binormal[#]}} &[Pi/2];
Show[ParametricPlot3D[r[t], {t, 0, 2 Pi}], Graphics3D[vec]]


-

Add ComplexExpand to your definitions of uT, uN, uB. That will take care of such terms as Norm'.

uT[t_] := Simplify[r'[t]/Norm[r'[t]] // ComplexExpand]

vN[t_] := Simplify[uT'[t]/Norm[uT'[t]] // ComplexExpand]

vB[t_] := Simplify[Cross[r'[t], r''[t]]/Norm[Cross[r'[t], r''[t]]] //  ComplexExpand]


Example:

r[t_] := {Cos[t], Sin[t], E^t}

N[Evaluate[vN[13 Pi/2]]]
(* {0.707107, -0.707107, 9.57279*10^-10} *)

-