用Mathematica处理多点调控曲面
1、先来画一个简单的三点调控曲面(三个点都是正调控点):TraditionalForm[1/Sqrt[Abs[-1 + x]^2 + Abs[-2 + y柯计瓤绘]^2 + Abs[-3 + z]^2] + 1/Sqrt[Abs[x]^2 + Abs[-1 + y]^2 + Abs[-2 + z]^2] + 1/Sqrt[Abs[-1 + x]^2 + Abs[y]^2 + Abs[-2 + z]^2] == 2.6]运行之后,再来:ContourPlot3D[Evaluate[%], {x, -3, 3}, {y, -2, 4}, {z, 0, 6},Axes -> False, Boxed -> False, ContourStyle -> {Opacity[0.5], Blue}]
2、当等式右面的数值变小的话,如,取值1.5,图形变的稍微“丰满了”:ContourPlot3D[1/Sqrt[Abs[-1 + x]^2 + Abs[-2 + y]^2 + Abs[-3 + z]^2] + 1/Sqrt[Abs[x]^2 + Abs[-1 + y]^2 + Abs[-2 + z]^2] + 1/Sqrt[Abs[-1 + x]^2 + Abs[y]^2 + Abs[-2 + z]^2] == 1.5
3、当右面数值变大,图形就会越来越“消瘦”:ContourPlot3D[1/Sqrt[Abs[-1 + x]^2 + Abs[-2 + y]^2 + Abs[-3 + z]^2] + 1/Sqrt[Abs[x]^2 + Abs[-1 + y]^2 + Abs[-2 + z]^2] + 1/Sqrt[Abs[-1 + x]^2 + Abs[y]^2 + Abs[-2 + z]^2] == 2.85
4、用互动效果演示一番上面的变化过程,同时把三个调控点也画出来:Manipulate[Show[Graphics3D[{PointSize[0.036], Green, Point[{{1, 2, 3}, {0, 1, 2}, {1, 0, 2}}]}], ContourPlot3D[………… == a, {x, -3, 3}, {y, -2, 4}, {z, 0, 6}, ContourStyle -> {Opacity[0.5], Red}], Boxed -> False], {a, 1.5, 10}]
5、上述过程导出GIF图片:Export["C:\\Users\\Administrator\\Desktop\\0.gif",……]
6、如果把其中一个点定为负调控点,这个点就会被“排斥”在曲面之外:1/Sqrt[Abs[-1 + x]^2 + Abs[-2 + y]^2 + Abs[-3 + z]^2] + 1/Sqrt[ Abs[x]^2 + Abs[-1 + y]^2 + Abs[-2 + z]^2] - 1/Sqrt[ Abs[-1 + x]^2 + Abs[y]^2 + Abs[-2 + z]^2] == a // TraditionalForm同样是运行之后,再来:Manipulate[Show[Graphics3D[{PointSize[0.036], Green, Point[{{1, 2, 3}, {0, 1, 2}, {1, 0, 2}}]}], ContourPlot3D[Evaluate[%], {x, -3, 3}, {y, -2, 4}, {z, 0, 6}, ContourStyle -> {Opacity[0.5], Red}], Boxed -> False], {a, 0.5, 5}]