ランダムなメモランダム

雑草のような雑念と雑考

球面リサージュ曲線のコード

 三次元の球面上をさまよう曲線のパラメトリックな生成をManipulateで実装する。
 これは球面の1変数の媒介変数表示です。
x=Cos[q/p t + s ] Sin[r t + s]
y= Sin[q/p t + s] Sin[r t + s]
z= Cos[r t + s]

 Mathematicaではワンセンテンスで書き下せます。

Manipulate[
ParametricPlot3D[{Cos[q/p t + s ] Sin[r t + s],
Sin[q/p t + s] Sin[r t + s], Cos[r t + s]}, {t, 0, 36 Pi},
PlotPoints -> 200, PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}}],
{p, 1, 25, 1}, {q, -50, 50, 1}, {r, 0.1, 10 , 0.2}, {s, 0, 10 , 0.2}]