Einfache 3D-Koordinatendarstellung in LaTex und Lyx
Mit Hilfe des Pakets TikZ-3DPlot können einfach 3D-Koordinatensysteme erstellt werden und zugleich einfache Zeichnungen umgesetzt werden. Ich verwende diese hauptsächlich, um Zeichnungen für die Koordinatengeometrie im Raum für die Oberstufe Mathemtik in Bayern zu erstellen.
Das Beispiel zeigt natürlich nur einige Möglichkeiten, ist aber als copy & paste Vorlage leicht für alle Zeichnungen abzuändern.
Beliebige Geraden und Ebenen können aus dem Beispiel adaptiert werden, allerdings müssend die Randpunkte immer per Hand berechnet werden.
Kommentiertes Beispiel
Einstellung der Sicht über die beiden verwendeten Winkel
\tdplotsetmaincoords{70}{125}
Mit Hilfe von scale kann die Gesamtgröße schnell angepasst werden.
\begin{tikzpicture}[tdplot_main_coords ,scale=0.6]
Es sind 3 Ebenenvorlagen definiert, welche nach Belieben auskommentiert werden können. Analog können auch beliebige Ebenen erstellt werden.
%Ebenen
%\filldraw[opacity=0.15] (0,0,0) – (4,0,0) – (4,0,4) – (0,0,4) – cycle; %x2x3-Ebene
%\filldraw[opacity=0.15] (0,9,9) – (0,-9,9) – (0,-9,-9) – (0,9,-9) – cycle; %x1x3-Ebene
%\filldraw[opacity=0.15] (9,0,9) – (-9,0,9) – (-9,0,-9) – (9,0,-9) – cycle; %x2x1-Ebene
Analoges gilt für die Achsen, Achsenbeschriftung und das Gitter
%Achsen
\draw[→,thick,opacity=0.6] (0,0,0) – (13,0,0) node[above] {$x_1$};
\draw[→,thick,opacity=0.6] (0,0,0) – (0,13,0) node[above] {$x_2$};
\draw[→,thick,opacity=0.6] (0,0,0) – (0,0,9) node[above] {$x_3$};
Bei der Achsenbeschriftung gibt es auch einen Automodus, so dass anahand von den ersten beiden Zahlen 0,2,…,8 automatisch bis zur Schlusszahl ergänzt wird, also 0,2,4,6,8 (siehe z-Koordinate)
%Achsenbeschriftung
\foreach \x in {2,…,12} \draw[black,thick] (\x,-0.1,0) – (\x,0.1,0) node[above] {\scriptsize\x}; %xAchse
\foreach \y in {2,…,12} \draw[black,thick] (-0.2,\y,0) – (0.2,\y,0) node[above] {\scriptsize\y}; %yAchse
\foreach \z in {0,2,…,8} \draw[black,thick] (0,-0.1,\z) – (0,0.1,\z) node[left] {\scriptsize\z}; %zAchse
%Grid
\foreach \x in {0,2,…,12} \draw[gray,dashed] (\x,0,0) – (\x,12,0); %grid x1-Achse
\foreach \y in {0,2,…,12} \draw[gray,dashed] (0,\y,0) – (12,\y,0); %grid x2-Achse
%\foreach \z in {-8,-7,…,8} \draw[gray,dashed] (0,-9,\z) – (0,9,\z); %grid x3-Achse
Nun beginnt die eigentliche Zeichung mit Eingabe der Koordinaten der benötigen Punkte
%Zeichnung
%\coordinate (O) at (0,0,0);
\coordinate (A) at (12,0,0);
\coordinate (B) at (12,12,0);
\coordinate (C) at (0,12,0);
\coordinate (D) at (0,0,0);
\coordinate (S) at (6,6,8);
\coordinate (Q) at (6,6,0);
\coordinate (R) at (6,9.84,2.88);
\coordinate (G) at (9,9,4);
\coordinate (L) at (3,9,4);
unbenutzte werden einfach auskommentiert mit %
%\coordinate (H) at (2,6,1);
%\coordinate (K) at (1,6,1);
%\coordinate (M) at (2,5,1.5);
%\coordinate (N) at (2,5,0);
%\coordinate (W) at (2,5.5,0.4);
Hier wird die Grundfläche rot mit leichter Transparenz eingefärbt und anschließend analog die anderen Flächen. Dabei kann immer auf die Punkte zurückgegriffen werden.
\filldraw[opacity=0.15,red] (A) – (B) – (C) – (D) – cycle;
\filldraw[opacity=0.15,yellow] (B) – (C) – (S) – cycle;
\filldraw[opacity=0.15,green] (G) – (L) – (S) – cycle;
Hier werden die Punkte eingezeichnet mit einem kleinen Kreis und der Beschriftung. Für die Position von node
gibt es above, below, right und left. Weitere der Tikz-Anleitung entnehemen.
\filldraw[blue] (A) circle (2pt) node[below,black] (a) {A};
\filldraw[blue] (B) circle (2pt) node[right,black] (b) {B};
\filldraw[blue] (C) circle (2pt) node[below,black] © {C};
\filldraw[blue] (D) circle (2pt) node[below,black] (d) {D};
\filldraw[blue] (S) circle (2pt) node[above,black] (p) {S};
\filldraw[orange] (Q) circle (2pt) node[left,orange] (q) {Q};
\filldraw[orange] (R) circle (2pt) node[above,orange] ® {R};
\filldraw[green] (G) circle (2pt) node[above,black] (g) {};
\filldraw[green] (L) circle (2pt) node[above,black] (l) {};
%\filldraw[blue] (H) circle (2pt) node[above,black] (h) {H};
%\filldraw[blue] (K) circle (2pt) node[above,black] (k) {K};
%\filldraw[blue] (O) circle (2pt) node[below,black] (o) {O};
%\filldraw[red] (M) circle (2pt) node[above,red] (m) {M};
%\filldraw[orange] (S) circle (2pt) node[above,orange] (s) {S};
%\filldraw[green] (W) circle (2pt) node[right,green] (w) {W};
%\filldraw[red] (N) circle (2pt);
Linien werden einfach über die beiden Punkte, hier M und N gezeichnet, der Linienstil ist leicht anzupassen, z.B. Dicke thin, very thin, very thick, oder Farbe blue, red und der Linienstil –, .., –>, ←-, usw.
%\draw[thick,red] (M) – (N);
Mit cycle geht es zum Ausgangspunkt wieder zurück. Es sind also auch einfach mehrere Punkte zu verbinden.
%\draw[thick,green] (0,5.5,0.4) – (3,5.5,0.4) – (3,5.5,0) – (0,5.5,0) – cycle;
%\draw[thick,green] (0,5.5,0.4) – (0,6,0.4) – (3,6,0.4) – (3,5.5,0.4) – cycle;
\draw[thick] (A) – (B);
\draw[thick] (A) – (D);
\draw[thick] (A) – (S);
\draw[thick] (C) – (B);
\draw[thick] (C) – (S);
\draw[thick] (C) – (D);
\draw[thick] (S) – (D);
\draw[thick] (B) – (S);
\draw[thick,orange] (Q) – (R);
\end{tikzpicture}