多语言展示
当前在线:817今日阅读:23今日分享:31

Mathematica应用——继续考察球面曲线

在《用Mathematica绘制球面曲线》里,我们学习了用别的曲面和球面相交的方法,来绘制球面曲线。        这里,介绍另一种绘制球面曲线的方法——直接在球面上作图,或者说,把平面曲线投影到球面上。        两种方法相比较,我个人认为,后面的方法更容易操作!当然,前面的方法也是有不可替代的作用的。14用Mathematica绘制球面曲线
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

曲面,一般是由含两个参数的参数方程所确定,事实上,就是把一个平面上的矩形区域投影到球面上。        例如,我们来绘制一个单位球面,就是一个矩形区域的投影。这个过程,可以称为球面变换。RegionPlot[0 <= u <= 2 Pi && 0 <= v <= Pi, {u, -1, 7}, {v, -1, 5},  AspectRatio -> Automatic]

2

单位球面对应的参数方程是{Cos[u] Cos[v], Cos[u] Sin[v], Sin[u]},通过限定u和v的值,使之分别由小变大,可以体现这个具体的作图过程。Manipulate[   ParametricPlot3D[{Cos[u] Cos[v], Cos[u] Sin[v], Sin[u]}, {u, 0, a0},     {v, 0, Pi}, PlotRange ->1.1], {a0, 0.1, 2 Pi, 0.1}]        类似的其余情形,大家可以自己实验!

3

给定一个曲面,要绘制曲面上的曲线,可以有两种方法: 一种方法是,用两个曲面相交产生曲线;另一个方法是曲面上直接绘制曲线。        用两个曲面相交产生曲线,这个方法是复杂的。因为要绘制这条相交线,必须确定特定的曲面,但是一条曲线所张的曲面可以说是无限多。        所以说,用曲面相交的方法绘制曲面上的曲线,不如直接在曲面上绘制曲线来的容易。        仍旧以球面曲线为例:继续延续第一步的结果,我们先在平面上的矩形区域内绘制一条参数曲线:

4

把上面这个曲线投影到球面上,看看这条曲线会变成什么样子 :F[u_, v_] := {Cos[u] Cos[v], Cos[u] Sin[v], Sin[u]}ParametricPlot3D[F[u, v] /. {u -> t, v -> 1.5 + Sin[t]}, {t, 0, 2 Pi}]        注意看,这个过程是,矩形区域球面化的同时,里面的曲线也球面化了,这其实仍旧是球面变换,只不过多了个变换对象!

5

把这条球面曲线和球面一块画出来:F[u_, v_] := {Cos[u] Cos[v], Cos[u] Sin[v], Sin[u]}Show[ParametricPlot3D[F[u, v], {u, 0, 2 Pi}, {v, 0, Pi},    PlotStyle -> Opacity[0.5]],  ParametricPlot3D[  F[u, v] /. {u -> t, v -> 1.5 + Sin[t]}, {t, 0, 2 Pi},   PlotStyle -> {Red, Thickness[0.01], Dashed}]]        其中对球面进行了半透明化操作,可以更好地观察这条球面曲线(图中的红色虚线)。

6

使参数t的最大值由小变大,可以实现这个球面曲线的作图过程:Manipulate[ Show[RegionPlot[   0 <= u <= 2 Pi && 0 <= v <= Pi, {u, -1, 7}, {v, -1, 5},    AspectRatio -> Automatic],  ParametricPlot[{t, 1.5 + Sin[t]}, {t, -1, a0}]], {a0, 0, 2 Pi}]        和Manipulate[ ParametricPlot3D[{Cos[t] Cos[1.5 + Sin[t]], Cos[t] Sin[1.5 + Sin[t]],    Sin[t]}, {t, 0, a0}], {a0, 0.0001, 2 Pi}]

7

如果在矩形区域内上下平移这条曲线,看看它在球面上的对应图形会发生什么变化:Manipulate[ Show[RegionPlot[   0 <= u <= 2 Pi && 0 <= v <= Pi, {u, -1, 7}, {v, -1, 5},    AspectRatio -> Automatic],   ParametricPlot[{t, b0 + Sin[t]}, {t, -1, 7}]], {b0, 0, 3}]

8

下面来看看,平面上的曲线是怎么投影到球面上去的。一个点一个点的对应:Manipulate[   Show[     ParametricPlot3D[{Cos[u] Cos[v], Cos[u] Sin[v], Sin[u]},           {u, 0, 2 Pi}, {v, 0, Pi}, PlotStyle -> Opacity[0.5]],      ParametricPlot3D[{tt, Sin[tt], 0}, {tt, 0, b0}],      ParametricPlot3D[{Cos[t] Cos[Sin[t]], Cos[t] Sin[Sin[t]], Sin[t]},           {t, 0, b0}, PlotStyle -> {Red, Thickness[0.01], Dashed}]],  {b0, 0.001, 2 Pi}]        可以发现,球面曲线的首尾相接,尽管对应的平面曲线不是这样!

注意事项
1

Mathematica是研究空间曲面和曲线的一个有效工具。

2

如果本文对你有所帮助,就推荐给你的朋友们吧!

推荐信息