1
$\begingroup$

I cannot see why the binormal vector is not plotting orthogonal to T and N. Surely I am overlooking something. Do you see what it might be?

x[t_] = Cos[t];
y[t_] = Sin[t];
z[t_] = t;
r[t_] = {x[t], y[t], z[t]};
UnitTangent[t_] := Simplify[r'[t]/Norm[r'[t]], t \[Element] Reals];
UnitNormal[t_] := Simplify[UnitTangent'[t]/Norm[UnitTangent'[t]], t \[Element] Reals];
UnitBinormal[t_] := Simplify[Cross[UnitTangent[t], UnitNormal[t]], t \[Element] Reals];
Manipulate[
  Show[
    ParametricPlot3D[r[t], {t, 0, T}, PlotStyle -> {Thick, Blue}, 
      PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {0, 20}}, 
      BoxRatios -> {1, 1, 1}, ImageSize -> 400],
    Graphics3D[{Thick, Red, Arrowheads[.013], 
      Arrow[{r[T], r[T] + UnitTangent[T]}]}, Axes -> True, 
      PlotRange -> {{-1, 1}, {-1, 1}, {0, 20}}],
    Graphics3D[{Thick, Green, Arrowheads[.013], 
      Arrow[{r[T], r[T] + UnitNormal[T]}]}, Axes -> True, 
      PlotRange -> {{-1, 1}, {-1, 1}, {0, 20}}],
    Graphics3D[{Thick, Black, Arrowheads[.013], 
      Arrow[{r[T], r[T] + UnitBinormal[T]}]}, Axes -> True, 
      PlotRange -> {{-1, 1}, {-1, 1}, {0, 20}}]],
 {T, .01, 20}]
$\endgroup$
  • 2
    $\begingroup$ It's probably because you don't have BoxRatios -> Automatic. Rescaling with different factors along the axes does not preserve angles. I'd recommend using something like z[t] = t / 10. $\endgroup$ – Michael E2 Sep 20 '17 at 20:47
  • $\begingroup$ That did it, thanks. I thought that by setting them all to 1 I would avoid the very problem that it created. If you want to add this as an answer, I will accept it. $\endgroup$ – JohnD Sep 20 '17 at 20:57
4
$\begingroup$

It's because you don't have BoxRatios -> Automatic. Rescaling with BoxRatios -> {1, 1, 1}, which gives equal-length axes in the output, does not preserve angles, unless the plot ranges on each axis are equal in length. I'd recommend using something like the following together with BoxRatios -> Automatic:

z[t] = t / 10

Mathematica graphics

$\endgroup$

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.