Hallo! Ich kann Ebenen in der Form z = z(x,y) plotten. Aber z.B. die Ebene x = -5 oder der xz-Koordinatenebene y = 0 muss ich wieder als Polygonzug eingeben. Gibt es bei eine Möglichkeit, Funktionen in der Form f(x,y,z) = 0 einzugeben?

Es soll in etwa dieses Bild entstehen, nur mit anderem Koordinatensystem (siehe Minibsp.):

alt text

In folgendem Minimalbeispiel wollte ich den Begrenzungs-Würfel mit einem Trick erzeugen, scheint so nicht zu klappen.

Bei der unteren Ebene z = -5 schaffe auch nicht, die Raster-Linien zu beseitigen.

So weit bin ich:

alt text

Open in Online-Editor
\documentclass{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}[
declare function = {
Z1(\x,\y) = -5;
Z2(\x,\y) = -x-y;
}]
\begin{axis}[grid,
x={(-0.7071cm,-0.7071cm)},    
y={(1cm,0.0cm)}, 
z={(0cm,1cm)},
axis lines=center,
font=\footnotesize,
xmax=5.4,ymax=5.4,zmax=5.4,
xmin=-5.4,ymin=-5.4,zmin=-5.4,
xlabel=\normalsize$x$,ylabel=\normalsize$y$,zlabel=\normalsize$z$,
major tick style = {black},
minor tick num=1, minor tick style = {very thin},
axis line style = {-latex}, %Pfeilspitzen
%enlargelimits=0.1,% relatives Verlängern der Achsen
]

% Ebene z = -5
\addplot3 [color=red, surf, semitransparent] {Z1(x,y)};

% Ebene z = -x-y
%\addplot3 [surf] {Z2(x,y)};

% xz-Koordinatenebene y=0
\addplot3[fill=blue, semitransparent]coordinates{(4,0,-4) (-4,0,-4) (-4,0,4) (4,0,4)(4,0,-4)};

%Würfel
\addplot3[only marks,mark=cube,mark size=5cm, semitransparent] coordinates {(0,0,0)} ;

% Weitere Raumflächen
%\addplot3[
%opacity=0.3,
%surf,
%shader=flat,
%samples=50,
%domain=-2:2,y domain=-2:2] 
%{exp(-(x^2+y^2))};
\end{axis}
\end{tikzpicture}
\end{document}

gefragt 04 Aug '15, 07:46

cis's gravatar image

cis
5.4k860168
Akzeptiert: 68%

bearbeitet 04 Aug '15, 10:03

color=red macht bei \addplot3 gar nichts, ich vermute, du willst colormap=… haben. Übrigens ist f(x,y,z) = 0 keine Ebene sondern nur ein Punkt im Ursprung.

(04 Aug '15, 15:39) Henri

Man kann Ebenen in pgfplots auch parametrisch plotten. Im Falle von z = –5 geht das mittels

Open in Online-Editor
\addplot3 (x,y,-5);

Die Rasterlinien lassen durch Nutzen eines anderen Shaders entfernen, nämlich

Open in Online-Editor
\addplot3[surf,shader=interp] (x,y,-5);

Allerdings wirst du bei deinem Problem auf eine inhärente Limitierung von pgfplots stoßen und zwar, dass Ebenen immer übereinander gelegt werden und nicht ihrer tatsächlichen Hierarchie entsprechend dargestellt werden.

Permanenter link

beantwortet 04 Aug '15, 15:36

Henri's gravatar image

Henri
10.0k31730

Danke für die AW. Kann ich auch die Farbe selbst festlegen?

\addplot3[surf, color=red, shader=interp, semitransparent] (x,y,-5);

wird nicht angenommen.

(04 Aug '15, 16:31) cis

Mir ist noch aufgefallen:

Bei der Seitenrißkoordinatenbene stört er sich an dem z:

\addplot3[surf, color=red, shader=interp, semitransparent] (0,y,z);

Mmmmhhh.... Wie geht das?

(04 Aug '15, 16:35) cis

Lass es mit xelatex oder latex->dvips->ps2pdf laufen oder öffne es in online-editor. Wenn du keine Linien haben willst, dann entkommentiere die grid Option:

Open in Online-Editor
\documentclass[margin=2mm,pstricks]{standalone}
\usepackage{pst-solides3d}

\begin{document}
\begin{pspicture}[solidmemory](-3,-3)(5,5)
\psset{viewpoint=30 30 40 rtp2xyz,Decran=15,lightsrc=viewpoint,action=none,linewidth=0.1pt,
  %grid%% falls keine Linien gezeichnet werden sollen
  }
\defFunction[algebraic]{funcA}(x,y)
    {-5}
    {x}
    {y}
\psSolid[object=surfaceparametree,
     base=-5 5 -5 5,fillcolor=yellow,function=funcA,ngrid=30,name=A]%
\defFunction[algebraic]{funcB}(x,y) 
    {x}
    {0}
    {y}
\psSolid[object=surfaceparametree,
    base=-8 3 -5 5,fillcolor=cyan,function=funcB,ngrid=30,name=B]%
\defFunction[algebraic]{funcC}(x,y) 
    {x}
    {y}
    {0}
\psSolid[object=surfaceparametree,
    base=-8 3 -5 5,fillcolor=blue,function=funcC,ngrid=30,name=C]%
\psSolid[object=fusion,base=A B C,action=draw**]  
\axesIIID(3,5,5)(7,8,10)
\end{pspicture}

\end{document}

alt text

Permanenter link

beantwortet 05 Aug '15, 02:50

Herbert's gravatar image

Herbert
5.0k34

bearbeitet 05 Aug '15, 05:54

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×160

Frage gestellt: 04 Aug '15, 07:46

Frage wurde angeschaut: 1,787 Mal

Zuletzt aktualisiert: 05 Aug '15, 05:54