Wie kann ich das Beispiel von Alain Matthes auf TeX.se zur Antwort auf 3D bodies in TikZ erweitern, so dass ich Prismen mit

  1. einem Dreieck als Grundfläche und
  2. einem Trapez als Grundfläche

einbeziehen kann? Ich finde das Beispiel genial, kann es aber nicht selbst erweitern.

gefragt 21 Jun, 18:55

runix's gravatar image

runix
5191343
Akzeptiert: 50%

bearbeitet 23 Jun, 04:41

Clemens's gravatar image

Clemens
19.0k113060


Hier ist ein Vorschlag für ein Prisma mit einem Dreieck als Grundfläche, der sich auch relativ einfach auf ein Trapez übertragen lassen lässt.

Open in Online-Editor
\documentclass[margin=5mm,dvipsnames]{standalone}
\usepackage{tikz}
\tikzset{
  xyz/.style={x={(-.385cm,-.385cm)},y={(1cm,0cm)},z={(0cm,1cm)}},
  flaeche/.style={fill=Maroon!10,opacity=.5},
}

\begin{document}
\begin{tikzpicture}[xyz]% z-Achse zeigt nach oben
% Koordinaten in zwei zur xy-Ebene parallelen Ebenen definieren
  \foreach[count=\i] \z in {0,4}
    \path
        (0,0,\z)coordinate(A\i)
        (0,4,\z)coordinate(B\i)
        (-3,2,\z)coordinate(C\i)
    ;
% Grund- und Deckfläche füllen, gegebenenfalls doppelt
  \foreach \i in {1,2,2}
    \path[flaeche](A\i)--(B\i)--(C\i)--cycle;
% Seitenfläche(n) füllen
  \foreach \i/\j in {A/B}
    \path[flaeche](\i1)--(\i2)--(\j2)--(\j1)--cycle;
% sichtbare Kanten zeichnen
  \path[draw](A2)--(B2)--(C2)--(A2)--(A1)--(B1)--(B2);
% verdeckte Kanten zeichnen
  \path[draw,dashed](A1)--(C1)--(B1) (C1)--(C2);
\end{tikzpicture}
\end{document}

alt text

Je nach gewählten Koordinaten werden eventuell andere Kanten verdeckt und müssen andere Flächen gefüllt werden.


Beispiel für ein Trapez als Grundfläche:

alt text

Code:

Open in Online-Editor
\documentclass[margin=5mm,dvipsnames]{standalone}
\usepackage{tikz}
\tikzset{
  xyz/.style={x={(-.385cm,-.385cm)},y={(1cm,0cm)},z={(0cm,1cm)}},
  flaeche/.style={fill=Maroon!10,opacity=.5},
}

\begin{document}
\begin{tikzpicture}[xyz]% z-Achse zeigt nach oben
% Koordinaten in zwei zur xy-Ebene parallelen Ebenen definieren
  \foreach[count=\i] \z in {0,6}
    \path
        (0,0,\z)coordinate(A\i)
        (0,5,\z)coordinate(B\i)
        (-3,3,\z)coordinate(C\i)
        (-3,1,\z)coordinate(D\i)
    ;
% Grund- und Deckfläche füllen, gegebenenfalls doppelt
  \foreach \i in {1,2,2}
    \path[flaeche](A\i)--(B\i)--(C\i)--(D\i)--cycle;
% Seitenfläche(n) füllen
  \foreach \i/\j in {A/B}
    \path[flaeche](\i1)--(\i2)--(\j2)--(\j1)--cycle;
% sichtbare Kanten zeichnen
  \path[draw](A2)--(B2)--(C2)--(D2)--(A2)--(A1)--(B1)--(B2);
% verdeckte Kanten zeichnen
  \path[draw,dashed](A1)--(D1)--(C1)--(B1) (C1)--(C2) (D1)--(D2);
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 22 Jun, 04:06

esdd's gravatar image

esdd
14.2k53251

bearbeitet 22 Jun, 05:35

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:

×492
×19

Frage gestellt: 21 Jun, 18:55

Frage wurde angeschaut: 569 Mal

Zuletzt aktualisiert: 23 Jun, 04:41