2017-02-23 4 views
1

Ich bin sehr neu zu Mathematica. Ich habe Version 11, wenn das einen Unterschied macht.Drehen Sie sich um eine horizontale Linie in Mathematica?

Ich versuche, den durch die folgenden Linien gebildeten Bereich zu nehmen und zu einem 3D-Körper zu drehen.

y = e^-x

Hier ist mein Code, in zwei Abschnitten

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]"}] 

Next:

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

ist hier die 2D- und 3D-Darstellungen:

2d image

3d image

Die 2D ist korrekt, aber nicht die 3D. Ich möchte den Bereich um y=2 (horizontale Linie) drehen, um eine Form mit einem Loch in der Mitte zu bilden. Ich weiß nicht, wie man die Drehachse auf etwas anderes als eine Achsenlinie einstellt. Ich möchte nur y=2.

Wie erreichen Sie das?

Antwort

0

RevolutionPlot3D ist aus zwei Gründen nicht das richtige Werkzeug für das, was Sie wollen. Zuerst möchten Sie eine 2D Region keine Linie drehen. Zweitens möchten Sie sich um eine Linie drehen, die keine der Achsen ist. RegionPlot3D ist das integrierte Tool für den Job. Sie können Ihre Region als boolean Region, man denke nur an den Bedingungen, dass der Radius x^2 + y^2 hat zu befriedigen

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

Mathematica graphics

Ich zeigte das Ergebnis von zwei unterschiedlichen Winkeln weisen darauf hin, die Mängel leicht einrichten RegionPlot3D. Sie können dieses Ergebnis verbessern, indem Sie einen hohen Wert für die PlotPoints Option verwenden, aber es ist nicht großartig. Aus diesem Grund sollten Sie Simon Woods Funktion contourRegionPlot3D, definiert in this post verwenden:

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

Mathematica graphics

Verwandte Themen