4

如果您有 Mathematica 和输入:

ParametricPlot3D[{Sin[u], Sin[v], Sin[u + v]}, {u, 0, 2 Pi}, {v, 0, 2 Pi]

您将生成一个 3D 实体,它看起来像一个侧面被压碎的立方体。我想要做的是用水平面截取这个实体的横截面:z = 0z = 1z= -1z= 1/2z= -1/2

生成这些横截面图的命令是什么?

4

2 回答 2

6

这可以通过指定 a 来完成RegionFunction,这是一个布尔条件,用于确定允许在何处绘制曲面。在这里,您将使用

RegionFunction -> Function[{x, y, z}, z < a]

a您希望相交平面的高度在哪里。为了说明这一点,我将制作一部电影:

t = Table[
  ParametricPlot3D[{Sin[u], Sin[v], Sin[u + v]}, {u, 0, 2 Pi}, {v, 0, 
    2 Pi}, RegionFunction -> Function[{x, y, z}, z < a], 
   PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}}], 
 {a, 1, -1, -.1}
]

现在我将其导出为GIF动画以包含在以下内容中:

Export["section.gif", Join[t, Rest[Reverse[t]]]]

部分

于 2012-05-03T02:52:33.113 回答
3

要获得相交曲线,您可以使用MeshFunctionsandMesh选项,例如

ParametricPlot3D[{Sin[u], Sin[v], Sin[u + v]}, {u, 0, 2 Pi}, {v, 0, 2 Pi},
 MeshFunctions -> {#3 &}, Mesh -> {Range[-1, 1, 1/2]}, 
 PlotStyle -> None, PlotPoints -> 50]

数学图形

于 2012-05-03T08:09:07.053 回答