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

2025-04-20 10:27:35

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。
猜你喜欢