Wie kann ich bei pgfplots die Ebenen aus folgendem Minimalbeispiel

alt text

färben wie in diesem Bild:

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 = -x-y
\addplot3 [surf, shader=interp, semitransparent, domain=-4:4] {Z2(x,y)};

% Aufrissebene
\addplot3[surf, shader=interp, semitransparent] (0,x,y);
% Grundrissebene
\addplot3[surf, shader=interp, semitransparent] (x,y,0);
% Seitenrissebene
\addplot3[surf, shader=interp, semitransparent] (x,0,y);

\end{axis}
\end{tikzpicture}
\end{document}

gefragt 05 Aug '15, 09:59

cis's gravatar image

cis
5.4k860168
Akzeptiert: 68%

bearbeitet 05 Aug '15, 10:08

Die Berechnung der Schnitte bzw. das Erkennen, welche Schnittflaechen vorne und welche hinten sind ist mit Bordmitteln von pgfplots aktuell nicht zu loesen. Die Farben sind kein Problem, allerdings muesstest Du ggf. die Schnitte selber ausrechnen und in pgfplots abbilden. Hier gibt es passendere Tools.

(06 Aug '15, 17:17) cfeuersaenger

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

\begin{document}
\begin{pspicture}[solidmemory](-5,-5)(5,5)
\psset{viewpoint=30 30 40 rtp2xyz,Decran=15,lightsrc=viewpoint,action=none,linewidth=0.1pt,
  grid,opacity=0.9,}
\psSolid[object=new,sommets=
  -5  5  0
  -5  0  5
   0 -5  5
   5 -5  0
   5  0 -5
   0  5 -5 ,faces={[0 1 2 3 4 5]},
   fillcolor=yellow,name=A]%
\defFunction[algebraic]{funcB}(x,y){x}{0}{y}
\psSolid[object=surfaceparametree,
    base=-5 5 -5 5,fillcolor=cyan,function=funcB,ngrid=50,name=B]%
\defFunction[algebraic]{funcC}(x,y){x}{y}{0}
\psSolid[object=surfaceparametree,
    base=-5 5 -5 5,fillcolor=blue,function=funcC,ngrid=50,name=C]%
\defFunction[algebraic]{funcD}(x,y){0}{x}{y}
\psSolid[object=surfaceparametree,
    base=-5 5 -5 5,fillcolor=magenta,function=funcD,ngrid=50,name=D]%
\psSolid[object=fusion,base=A B C D,action=draw**]  
\axesIIID(5,5,5)(8,8,8)
\end{pspicture}

\end{document}

alt text

Oder ohne Transparenz

alt text

Permanenter link

beantwortet 05 Aug '15, 11:33

Herbert's gravatar image

Herbert
5.0k34

Danke, sieht sehr gut aus. Ich wollte aber mit pgfplots / tikz arbeiten.

(06 Aug '15, 08:39) cis

ist aber fpür 3d-Sachen ziemlich ungeeignet ...

(06 Aug '15, 12:38) Herbert

Ja, das scheint christansfeuersängers Komentar auch zum Ausdruck zu bringen... :)

(06 Aug '15, 23:02) cis
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: 05 Aug '15, 09:59

Frage wurde angeschaut: 1,527 Mal

Zuletzt aktualisiert: 06 Aug '15, 23:02