【微分几何】怎么绘制螺旋太极图?

2025-10-24 03:44:12

1、完美的球面螺旋线的参数方程是:

{Sin[v] Sin[n v], -Cos[n v] Sin[v], Cos[v]}

其中n是正数,v是参数变量。

绘制n为2时候的图像:

aa = Show[

  ParametricPlot3D[{Cos[u] Sin[v], Cos[u] Cos[v], Sin[u]}, {u, 0, 

    2 Pi}, {v, 0, Pi}, Axes -> False, Boxed -> False, 

   PlotStyle -> Opacity[1]],

  ParametricPlot3D[{Sin[v] Sin[n v], -Cos[n v] Sin[v], Cos[v]} /. 

    n -> 2, {v, 0, 2 Pi}, PlotStyle -> Blue],

  PlotRange -> All, ImageSize -> {500, 500}]

【微分几何】怎么绘制螺旋太极图?

2、当n为10的时候,效果如下:

aa = Show[

  ParametricPlot3D[{Cos[u] Sin[v], Cos[u] Cos[v], Sin[u]}, {u, 0, 

    2 Pi}, {v, 0, Pi}, Axes -> False, Boxed -> False, 

   PlotStyle -> Opacity[1]],

  ParametricPlot3D[{Sin[v] Sin[n v], -Cos[n v] Sin[v], Cos[v]} /. 

    n -> 10, {v, 0, 2 Pi}, PlotStyle -> Blue],

  PlotRange -> All, ImageSize -> {500, 500}]

【微分几何】怎么绘制螺旋太极图?

3、对球面螺旋线稍加修改,看效果:

aa = Show[

  ParametricPlot3D[{Cos[u] Sin[v], Cos[u] Cos[v], Sin[u]}, {u, 0, 

    2 Pi}, {v, 0, Pi}, Axes -> False, Boxed -> False, 

   PlotStyle -> Opacity[1]],

  ParametricPlot3D[{Abs[Sin[v]] Sin[n v], -Cos[n v] Sin[v], 

     Cos[v]} /. n -> 10, {v, 0, 2 Pi}, PlotStyle -> Blue],

  PlotRange -> All, ImageSize -> {500, 500}]

【微分几何】怎么绘制螺旋太极图?

4、查看俯视图:

aa = Show[

  ……,

  PlotRange -> All, ViewPoint -> Above, ImageSize -> {500, 500}]

【微分几何】怎么绘制螺旋太极图?

5、把整个图像投影到xoy平面上,且调整绘图区域:

aa = Show[

  ParametricPlot[{Cos[v], Sin[v]}, {v, 0, 2 Pi}, Axes -> False, 

   PlotStyle -> Black],

  ParametricPlot[{Abs[Sin[v]] Sin[n v], -Cos[n v] Sin[v]} /. 

    n -> 10, {v, -Pi/2, Pi/2}, PlotStyle -> Blue],

  PlotRange -> All, ViewPoint -> Above, ImageSize -> {500, 500}]

【微分几何】怎么绘制螺旋太极图?

6、怎么对参数方程的区域着色呢?

方案如下:

通过旋转,把线条变成区域(二维形式);

k = RotationTransform[u][{Abs@Sin[v] Sin[n v], -Cos[n v] Sin[v]}]

然后就是画图,着重注意着色方案(见加粗部分):

aa = Show[

  ParametricPlot[{Cos[u], Sin[u]}, {u, 0, 2 Pi}, Axes -> False, 

   PlotStyle -> Black],

  ParametricPlot[Evaluate[k /. n -> 2], {u, 0, Pi}, {v, 0, Pi/2}, 

   ColorFunction -> Function[{x, y, t, v}, Black], 

   BoundaryStyle -> None],

  PlotRange -> All]

【微分几何】怎么绘制螺旋太极图?

7、n从0递增到10,进行动态交互:

Manipulate[

 Show[ParametricPlot[{Cos[u], Sin[u]}, {u, 0, 2 Pi}, Axes -> False, 

   PlotStyle -> Black],

  ParametricPlot[Evaluate[k /. n -> m], {u, 0, Pi}, {v, 0, Pi/2}, 

   ColorFunction -> Function[{x, y, t, v}, Black], 

   BoundaryStyle -> None, PlotPoints -> 100],

  PlotRange -> All], {m, 0, 10}]

【微分几何】怎么绘制螺旋太极图?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢