悠闲数学娱乐论坛(第2版)'s Archiver

青青子衿 发表于 2019-2-19 17:53

Mathematica画球面(阿基米德)螺线

[i=s] 本帖最后由 青青子衿 于 2019-3-1 11:06 编辑 [/i]

[code]Manipulate[
Show[ContourPlot3D[
   x^2 + y^2 + z^2 == 1, {x, -1.2, 1.2}, {y, -1.2, 1.2}, {z, -1.2, 1.2},
   Mesh -> None,
   ContourStyle -> Directive[Yellow, Opacity[0.5]]],
  ParametricPlot3D[{Sin[t/2], Cos[t/2] Sin[(k t)/2], -Cos[t/2] Cos[(k t)/2]},
   {t, -2 \[Pi], 2 \[Pi]},
   PlotStyle -> {Red, Thickness[0.01]}]], {k, 1, 20, 1}][/code]\begin{align*}
\boldsymbol{r}(t)=\left\{\sin\frac{t}{2},\cos\frac{t}{2}\sin\frac{kt}{2},-\cos\frac{t}{2}\cos\frac{kt}{2}\right\}
\end{align*}
Clelia curve
[url]https://en.wikipedia.org/wiki/Clélie[/url]
spherical (Archimedean) spiral

kuing 发表于 2019-2-19 21:27

画球的(ContourPlot3D[...] 这部分)可以用 Graphics3D[{Opacity[0.5], Yellow, Ball[{0, 0, 0}, 1]}] 代替。

kuing 发表于 2019-2-19 21:51

导出gif动图可以这样:[code]test=Table[Show[Graphics3D[{Opacity[0.5],Yellow,Ball[{0,0,0},1]}],
ParametricPlot3D[{Sin[t/2],Cos[t/2] Sin[(k t)/2],-Cos[t/2] Cos[(k t)/2]},{t,-2Pi,2Pi},PlotStyle->{Red,Thickness[0.01]}]],{k,1,15,0.2}];
Export["test.gif",test][/code]运行十几秒后在我的文档里就可以找到 test.gif 这个文件,不过这样生成的 gif 会稍微有点大,而且只循环两次,所以建议用其他工具再优化一下。
[attach]7281[/attach]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.