2017-02-23 69 views
1

新数学。我有版本11,如果这有所作为。在Mathematica中绕水平线旋转?

我试图通过采取以下行形成的区域,并围绕它形成一个三维实体。

Y = E 1 -x

这是我的代码,在两个部分

f[x_] := E^-x 
g[x_] := 1 
Plot[{f[x], g[x]}, {x, 0, 2}, Filling -> {1 -> {2}}, 
PlotLegends -> {"f[x]", "g[x]", "h[y]"}] 

下一页:

RevolutionPlot3D[(1 - f[x]) , {x, 0, 2}, RevolutionAxis -> "X"] 

这里是2D和3D表示:

2d image

3d image

二维一个是正确的,但不是3D。我想旋转约y=2(水平线)的区域,以形成中心有孔的形状。我不知道如何将旋转轴设置为轴线以外的任何其他位置。我只想要y=2

你如何做到这一点?

回答

0

RevolutionPlot3D是不是你想要的东西有2个原因的工具。首先,你想旋转一个2D 区域不是一条线。其次,你想围绕不是一个轴的线旋转。 RegionPlot3D是该工作的内置工具。您可以轻松地设置您的区域作为一个布尔值区域,只是想想条件半径x^2 + y^2必须满足

RegionPlot3D[ 
1 < z^2 + y^2 < (2 - Exp[-x])^2, {x, 0, 2}, {y, -3, 3}, {z, -3, 3}] 

Mathematica graphics

我发现从2个不同角度的结果指出的不足之处RegionPlot3D。您可以通过使用PlotPoints选项的较高值来改善此结果,但效果并不好。这就是为什么你应该使用西蒙·伍兹的功能contourRegionPlot3D,在this post定义:

contourRegionPlot3D[ 
1 < z^2 + y^2 < (2 - Exp[-x])^2, {x, 0, 2}, {y, -3, 3}, {z, -3, 3}] 

Mathematica graphics