Here's the message I've been trying to send for days but keeps giving the error. I finally figured it out. I believe it didn't like the emoji I had placed inline. Ugh!
Got it, thanks! I ended up finding a couple tutorials online that got me past the initial hurdles of "what in the world is a notebook?" (lol) and the secret of SHIFT-ENTER.
As to why the compiler didn't complain when I tried to execute the ParametricPlot3D code with the Lissajous3D definition missing, I have no idea :-)
Anyway, I think we can agree that this is officially "jumping into the deep end", and not the "Hello, World" first project that newbies would be tackling.
Meanwhile, I have an update. I've spent a while reverse engineering and playing with your code, documenting, and "manipulating" (pasted below and attached):
Lissajous3D[cx_, cy_, w_, d_, p_][t_, s_] := {cx Sin[t w + d],
cx Cos[t w + d], cy Sin[t] + Rescale[cx Cos[t w + d], {-1, 1},
{s, p s}]}
Manipulate[ParametricPlot3D[
Lissajous3D[
1, 1, (*overall aspect ratio *)
w, (*vertical nodes*)
\[Phi], \
(*phase*)
p] (*perspective: front/
back ribbon thickness ratio *)
[t, s],
{s, 0, smax}, (*ribbon thickness *)
{t, 0,
tmax}, (*period around cylinder*)
ViewPoint -> Front,
ViewProjection -> "Orthographic",
ColorFunction -> (White &),
MeshStyle -> None,
PlotPoints -> {10, 60}, (*resolution??*)
Lighting -> {{"Point", Blue, {0, -5, 0}}, {"Point",
Green, {-3, -5, 0}}},
Axes -> ax]
,
{{w, 1, "vertical frequency"}, 1, 10,
Appearance -> "Labeled"},
{{\[Phi], Pi/4, "relative phase"}, 0, 2 Pi,
Appearance -> "Labeled"}, Delimiter ,
{{smax, .1, "ribbon thickness"}, .01, .3,
Appearance -> "Labeled"},
{{tmax, 2 Pi, "tmax"}, 0, 8 Pi, Appearance -> "Labeled"},
{{p, .25, "perspective"}, 1, .1, Appearance -> "Labeled"},
{{ax, False, "show axes"}, {True, False}}
]
Before I get any further with graphical details, the main limitation is that this Lissajous function only allows control over the vertical frequency, not the horizontal frequency. Specifically, the "t" for the two parametric functions needs to be independent. I tried splitting that out (code not shown, because it doesn't work), but things don't look right.
Do you know how to fix that without breaking the 3D features we have here?
Thanks again!
Dave
p.s. Happy New Year!
Attachments: