Hallo,

vor geraumer Zeit wurde in der TexWelt eine Lösung zum Plotten von Elastizitätsmodulkörpern (mit tikz-3dplot) vorgestellt. Das Ergebnis sowie dessen Umsetzung sind hier zu finden: Anisotropie Einkristall mit tikz

An dieser Stelle möchte ich noch eine Frage nachschieben. Welche Möglichkeiten der Farbdarstellungen gibt es für diesen Plot? Sind monochromatische Farbabstufungen möglich? Wo und wie kann ich das einstellen?

Viele Grüße Dirk

gefragt 16 Nov '14, 03:37

Dirk's gravatar image

Dirk
265310
Akzeptiert: 66%

bearbeitet 16 Nov '14, 07:58

Clemens's gravatar image

Clemens
19.7k113260


So wie ich das sehe ist parametricfill das einzige was tikz-3dplot unterstützt. Allerdings kann man die Funktion auch mit pgfplots plotten. Dort hat man Zugriff auf unzählige Colormaps. Eine monochromatische Colormap ist zum Beispiel viridis (die Standardcolormap von Python matplotlib).

Benutzt man eine neuere Version von pgfplots, so kann die Funktion auch in Lua ausgewertet werden. Das beschleunigt das Setzen immens! Dazu ruft man einfach lualatex test.tex statt pdflatex test.tex auf.

Open in Online-Editor
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{colormaps}
\pgfplotsset{
  compat=1.13,
  /pgf/declare function={
    surface(\theta,\phi)=1/(7.74-1.8*(1-cos(2*\theta))*((1+cos(2*\theta))+0.25*(1-cos(2*\theta))*(1-0.5*(1+cos(4*\phi)))));
  }
}
\begin{document}
\begin{tikzpicture}
  \begin{axis}
    [
      width=6cm,height=6cm,
      axis equal,enlargelimits=false,
      domain=0:180,samples=35,
      y domain=0:360,samples y=35,
      colormap/viridis,colorbar,
    ]
    \addplot3
      [
        surf,opacity=0.7,
        z buffer=sort,
        faceted color=black,
        point meta={abs(sqrt(x^2+y^2+z^2))}
      ] (
        {sin(x)*cos(y)*surface(x,y)},
        {sin(x)*sin(y)*surface(x,y)},
        {cos(x)*surface(x,y)}
      );
  \end{axis}
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 06 Jul '16, 12:04

Henri's gravatar image

Henri
11.3k42232

bearbeitet 07 Jul '16, 06:06

1

@Dirk Hilft dir das?

(07 Jul '16, 06:05) Henri

Interessante und sehr schöne Umsetzung. Farbspielereien sollten nun keine Grenzen gesetzt sein. Problematisch erscheint allerdings die Darstellung eines Koordinatensystems, das im Zentrum des Körpers seinen Ursprung hat (analog der Darstellung in der Lösung des ursprünglichen Problems unter http://texwelt.de/wissen/fragen/2454/anisotropie-einkristall-mit-tikz). Die Achsen sind dann im Körper 'unsichtbar' (wenn keine Transparenz verwendet wird) und treten erst beim Austritt aus dem Körper in Erscheinung.

(08 Jan, 08:12) Kurt
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

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:

×528
×39
×18
×9

Frage gestellt: 16 Nov '14, 03:37

Frage wurde angeschaut: 2,264 Mal

Zuletzt aktualisiert: 08 Jan, 08:12