Estas curvas presentan mayor interés cuando los valores de p y q son primos relativos entre sí, en este caso el número de puntas es pq.
Sobre un cilindro
Curvas sobre el cilindro: x² + y² = 1
Lazo que termina en puntas
Manipulate[
Show[ContourPlot3D[
x^2 + y^2 == 1, {x, -1, 1}, {y, -1, 1}, {z, -2, 2},
ContourStyle -> Opacity[0.3], Mesh -> 1],
ParametricPlot3D[{Cos[q t], Sin[q t], ArcSin[Cos[p t]]}, {t, 0,
2 Pi}, PlotStyle -> {Red, Thickness[0.01]}]], {p, 1, 10, 1}, {q,
1, 10, 1}]
Lazos con puntas redondeadas
Show[ContourPlot3D[x^2 + y^2 == 1, {x, -1, 1}, {y, -1, 1}, {z, -2, 2},
ContourStyle -> Opacity[0.3], Mesh -> 1],
ParametricPlot3D[{Cos[q t], Sin[q t], Cos[p t]}, {t, 0, 2 Pi},
PlotStyle -> {Red, Thickness[0.01]}]], {p, 1, 10, 1}, {q, 1, 10,
1}]
Elipsoide de ecuación: x² + y² + (k z)² = 1
Manipulate[
Show[ContourPlot3D[
x^2 + y^2 + k^2 z^2 == 1, {x, -1, 1}, {y, -1, 1}, {z, -1, 1},
ContourStyle -> Opacity[0.8], Mesh -> 1],
ParametricPlot3D[{Cos[q t]/Sqrt[1 + k^2 Sin[p t]^2],
Sin[q t]/Sqrt[1 + k^2 Sin[p t]^2],
Sin[p t]/Sqrt[1 + k^2 Sin[p t]^2]}, {t, 0, 2 Pi},
PlotStyle -> {Red, Thickness[0.01]}]], {p, 1, 10, 1}, {q, 1, 10,
1}, {k, 1, 5, 1}]
Sobre un hiperboloide de una hoja
Hiperboloide de ecuación: x² + y² - k² z²/(1 + k²) = 1/(1 + k²)
Manipulate[
Show[ContourPlot3D[
x^2 + y^2 - k^2/(1 + k^2) z^2 == 1/(1 + k^2), {x, -1.1,
1.1}, {y, -1.1, 1.1}, {z, -1.1, 1.1},
ContourStyle -> Opacity[0.5], Mesh -> 1],
ParametricPlot3D[{Cos[q t]/Sqrt[1 + k^2 Sin[p t]^2],
Sin[q t]/Sqrt[1 + k^2 Sin[p t]^2],
Cos[p t]/Sqrt[1 + k^2 Sin[p t]^2]}, {t, 0, 2 Pi},
PlotStyle -> {Red, Thickness[0.01]}]], {p, 1, 10, 1}, {q, 1, 10,
1}, {k, 1, 5, 1}]
Para aprender más sobre Mathematica ingrese aquí sitio de aprendizaje de Wolfram o en mi website ustamathematica.wixsite.com/basicas