# Why does the curve not show?

I am trying to plot a general helix with variable parameters (via sliders) and its associated FrenetSerretSystem. The helix doesn't show.

helix = {a*Cos[(\[Omega]*s)/c], a*Sin[(\[Omega]*s)/c], (b*s)/c};
basis = Last[FrenetSerretSystem[helix, s]] // Simplify;
{tangent, normal, binormal} =
Map[Arrow[{helix, helix + #}] &, basis];
tangent
Manipulate[
Show[ParametricPlot3D[helix, {s, 0, 10}, PlotStyle -> {Thick, Black},
PerformanceGoal -> "Quality",] // Evaluate,
Graphics3D[{Thick, Blue, Dynamic[tangent], Red, Dynamic[normal],
Purple, Dynamic[binormal]}],
AxesLabel -> {"x", "y", "z"},
AxesEdge -> {{-1, -1}, {-1, -1}, {-1, -1}},
Boxed -> False,
PlotRange -> All] // Evaluate, {{s, 5}, 0, 10}, {{a, 1}, 0,
10}, {{b, 1}, 0, 10}, {{c, 1}, 0, 10}, {{\[Omega], 5}, 0, 10},
ContinuousAction -> True,
SaveDefinitions -> True,
Initialization :> ({a = 2, b = 1, c = 1, \[Omega] = 5})
]


If I fix the parameters it is working:

With[{a = 2, b = 1,
c = 1, \[Omega] = 5}, \[Beta][s_] = {a*Cos[(\[Omega]*s)/c],
a*Sin[(\[Omega]*s)/c], (b*s)/c}];
basis = Last[FrenetSerretSystem[\[Beta][s], s]] // Simplify;
{tangent, normal, binormal} =
Map[Arrow[{\[Beta][s], \[Beta][s] + #}] &, basis];
pp = ParametricPlot3D[\[Beta][s], {s, 0, 10},
PlotStyle -> {Thick, Black}, PerformanceGoal -> "Quality"];
fs = Graphics3D[{Thick, Blue, tangent, Red, normal, Purple, binormal}];

Manipulate[Show[pp, fs,
AxesLabel -> {"x", "y", "z"},
AxesEdge -> {{-1, -1}, {-1, -1}, {-1, -1}},
Boxed -> False,
PlotRange -> All
] // Evaluate, {{s, 2}, 0, 10},
ContinuousAction -> True
]


What am I missing?

helix = {a*Cos[(\[Omega]*s)/c], a*Sin[(\[Omega]*s)/c], (b*s)/c};
basis = Last[FrenetSerretSystem[helix, s]] // Simplify;
{tangent, normal, binormal} = Map[Arrow[{helix, helix + #}] &, basis];

Manipulate[
Show[ParametricPlot3D[
helix /. {a -> a1, b -> b1, c -> c1, \[Omega] -> \[Omega]1,
s -> s1}, {s1, 0, 10}, PlotStyle -> {Thick, Black},
PerformanceGoal -> "Quality"],
Graphics3D[{Thick, Blue,
Dynamic[tangent /. {a -> a1, b -> b1,
c -> c1, \[Omega] -> \[Omega]1, s -> s1}], Red,
Dynamic[normal /. {a -> a1, b -> b1,
c -> c1, \[Omega] -> \[Omega]1, s -> s1}], Purple,
Dynamic[binormal /. {a -> a1, b -> b1,
c -> c1, \[Omega] -> \[Omega]1, s -> s1}]}],
AxesLabel -> {"x", "y", "z"},
AxesEdge -> {{-1, -1}, {-1, -1}, {-1, -1}}, Boxed -> False,
PlotRange -> All], {{s1, 5}, 0, 10}, {{a1, 1}, 0, 10}, {{b1, 1}, 0,
10}, {{c1, 1}, 0, 10}, {{\[Omega]1, 5}, 0, 10},
ContinuousAction -> True, SaveDefinitions -> True,
Initialization :> ({a1 = 2, b1 = 1, c1 = 1, \[Omega]1 = 5})]


• Wow! Thank you so much! May I ask you for a pointer in the Mathematica documentation where I possibly could have found this solution myself? I spent hours searching but didn't find it. Nov 30, 2018 at 21:17
• @Nikolaus I'm sorry, I did not read the documents and textbooks. It's just the experience of using 10 versions of Mathematica. Nov 30, 2018 at 22:31
• No problem, thank you so much again! Dec 1, 2018 at 0:14
• You're welcome! Dec 1, 2018 at 0:16