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, 15:59

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 05 Aug '15, 16: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, 23: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, 17:33

Herbert's gravatar image

Herbert
5.1k34
Akzeptiert-Rate: 31%

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

(06 Aug '15, 14:39) cis

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

(06 Aug '15, 18:38) Herbert

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

(07 Aug '15, 05:02) cis
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×298

gestellte Frage: 05 Aug '15, 15:59

Frage wurde gesehen: 8,367 Mal

zuletzt geändert: 07 Aug '15, 05:02