0
$\begingroup$

Something seems different with duplicated question "How to solve this error? “should be a triple of numbers or a Scaled form.” ", MMA tips may tell that Abs do not calculate? code reference from Finding unit tangent, normal, and binormal vectors for a given r(t), but I have made some changes.

ClearAll["Global`*"]
r[t_] := {(1200 + 200*Sin[t]), (900 + 300*Cos[t]), (2000 + 
     100*Sin[t])};
uT[t_] = r'[t]/Norm[r'[t]];
vN[t_] = uT'[t]/Norm[uT'[t]];
vB[t_] = Cross[r'[t], r''[t]]/Norm[Cross[r'[t], r''[t]]];
R[t_] = {uT[t], vB[t], vN[t]};

Animate[Show[
  ParametricPlot3D[{r[t]}, {t, 0, 2*Pi}, PlotStyle -> {Blue, Thick}], 
  Graphics3D[{{Thick, Darker@Red, 
     Arrow[{r[s], r[s] + 100. uT[s]}]}, {Thick, Darker@Green, 
     Arrow[{r[s], r[s] + 100. vB[s]}]}, {Thick, Darker@Cyan, 
     Arrow[{r[s], r[s] + 100. vN[s]}]}}], PlotRange -> Automatic], {s,
   Pi/2, Pi/2}]

There are some errors with the running result, anyone can give some improvements would be appreciated, thanks! enter image description here

$\endgroup$
  • $\begingroup$ It's from Norm. You could use FrenetSerretSystem instead of your functions. Or redefine norm. E.g. norm[v_]:= Sqrt[v.v] or norm[v_?VectorQ]:= Sqrt[v.v]. $\endgroup$ – Michael E2 May 13 at 21:50
  • $\begingroup$ @Michael E2, you are right,thank you! $\endgroup$ – Ben May 14 at 5:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.