多语言展示
当前在线:761今日阅读:103今日分享:49

【微分几何】怎么绘制球面螺旋线?

使用Mathematica绘制球面螺旋线的时候,出现了一点误区。《【微分几何】怎么在球面上画螺旋线》里面绘制的螺旋线,出发点是球面的极点,这导致球面螺旋线发生较大的扭曲。本文,把螺旋线的出发点放置到赤道上,看看效果。【微分几何】怎么在球面上画螺旋线?
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

为了把球面螺旋线的出发点移动到赤道上,需要对曲纹坐标u进行调整:ParametricPlot3D[{Sin[u] Sin[v], Sin[u] Cos[v], Cos[u]} /. {  u -> t/36 Cos[t] + Pi/2, v -> t/36 Sin[t]}, {t, 0, 10 Pi},   PlotPoints -> 1000, PlotStyle -> {Blue, Thickness[0.003]}]注意,u代表的是纬度,从极点移到赤道,需要把纬度加上90°;绘图区域t介于0到10π之间。

2

这个螺旋线是漂亮的,且没有扭曲。如果扩大作图区域,当螺旋线扩张到极点附近时,仍发生扭曲:ParametricPlot3D[{Sin[u] Sin[v], Sin[u] Cos[v],    Cos[u]} /. {u -> t/36 Cos[t] + Pi/2, v -> t/36 Sin[t]}, {t, 0,   20 Pi}, PlotPoints -> 1000, PlotStyle -> {Blue, Thickness[0.003]}]

3

进一步看看这种扭曲现象:ParametricPlot3D[{Sin[u] Sin[v], Sin[u] Cos[v],    Cos[u]} /. {u -> t/36 Cos[t] + Pi/2, v -> t/36 Sin[t]}, {t, 0,   50 Pi}, PlotPoints -> 1000, PlotStyle -> {Blue, Thickness[0.003]}]

4

增加螺旋线的密度:ParametricPlot3D[{Sin[u] Sin[v], Sin[u] Cos[v],    Cos[u]} /. {u -> t/150 Cos[t] + Pi/2, v -> t/150 Sin[t]}, {t, 0,   50 Pi}, PlotPoints -> 1000, PlotStyle -> {Blue, Thickness[0.002]}]

5

增加一点极点附近的扭曲现象:ParametricPlot3D[{Sin[u] Sin[v], Sin[u] Cos[v],    Cos[u]} /. {u -> t/150 Cos[t] + Pi/2, v -> t/150 Sin[t]}, {t, 0,   105 Pi}, PlotPoints -> 1000, PlotStyle -> {Blue, Thickness[0.002]}]

6

用动态图全方位展示一下上面的螺旋线。

注意事项

遇到极点会发生扭曲,怎么回避这样的现象?读者可以自己思考一下。

推荐信息