2017-02-23 75 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