Seite 1 von 1

Raster konfigurieren in TIKZ

Verfasst: Mi 22. Jul 2020, 13:36
von Jaffka

Hallo Latex-Profis,

ich möchte ein dreidimensionalen Würfel mit Tikz zeichnen. Leider nimmt der Würfel bei mir das gesamte Blatt ein, obwohl er nur eine Kantenlänge von 2cm haben dürfte. Wie kann ich das das Raster richtig konfigureiren in Tikz?

\begin{tikzpicture}
%Definieren der Ecken
\coordinate  (A1) at (0cm,0cm,0cm){} node[above right,fill=red] {\huge A1};
\coordinate  (A2) at (2cm,0cm, 0cm){};
\coordinate  (A3) at (2cm,2cm, 0cm){};
\coordinate  (A4) at (0cm,2cm,0cm){};

\coordinate  (A5) at (0cm,0cm,-2cm){};
\coordinate  (A6) at (2cm,0cm, -2cm){};
\coordinate  (A7) at (2cm,2cm, -2cm){};
\coordinate  (A8) at (0cm,2cm,-2cm){};
\end{tikzpicture}

Re: Raster konfigurieren in TIKZ

Verfasst: Mi 22. Jul 2020, 15:10
von markusv

Die voreingestellte Längeneinheit ist bereits cm. Es reicht also, die Koordinaten ohne die cm-Angabe zu definieren. Für noch mehr Gewissheit oder zum Überblick kann man die Skalierung auch für das ganze TikZ-Bild festlegen:

\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{blindtext}
\begin{document}
	\blindtext
	
\begin{tikzpicture}%[x=1cm,y=1cm] %%% <--- Festlegung einer eigenen Skalierung
%Definieren der Ecken
\coordinate  (A1) at (0,0,0);
\coordinate  (A2) at (2,0,0);
\coordinate  (A3) at (2,2,0);
\coordinate  (A4) at (0,2,0);
\coordinate  (A5) at (0,0,-2);
\coordinate  (A6) at (2,0,-2);
\coordinate  (A7) at (2,2,-2);
\coordinate  (A8) at (0,2,-2);
\draw (A1) -| (A3) -| (A1);
\draw (A5) -| (A7) -| (A5);
\foreach \x/\y in {1/5,2/6,3/7,4/8} 
{\draw (A\x) -- (A\y);}
\end{tikzpicture}

\blindtext
\end{document}

Re: Raster konfigurieren in TIKZ

Verfasst: Mi 22. Jul 2020, 15:24
von Ijon Tichy

Bitte Crosspost immer unmittelbar selbst verlinken!


Bibliothek für drei Dimensionen

Verfasst: Mi 22. Jul 2020, 15:25
von Stamm-Gast

Zunächst mal sollte immer ein Minimalbeispiel erstellt und auf einen Crosspost verwiesen werden, damit alle potentiellen Helfer ohne große Basteleien gleich testen können, was möglicherweise nicht funktioniert und sich bei bereits erfolgten Antworten in anderen Foren nicht unnötig Arbeit machen müssen.

Ganz ohne Beispiel kann ich sagen, dass Einheiten bei Koordinaten nicht nötig sind, solange sie nicht von der voreingestellten (Zentimeter, cm) abweichen. Und bei Koordinaten (\coordinate) werden auch keine notwendigen Argumente für Texte angegeben. Marken setzt man dort mit der Option label. Um das Gebilde dreidimensional abzubilden, eignet sich die »TikZ«-Bibliothek perspective sehr gut. Genaueres ist der Anleitung zu entnehmen.

%\listfiles  % Verwendete Dateien auflisten
%\documentclass[parskip=half,ngerman]{scrartcl}
\documentclass[11pt,border=2pt,ngerman]{standalone}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage{tikz}
\usetikzlibrary{perspective}

\usepackage{tgtermes,tgheros,tgcursor}
\usepackage[babel]{microtype}

\begin{document}
  \begin{tikzpicture}[
    3d view,
    line cap=round,
    line join=round
  ]
    \coordinate[label={90:$A_1$}]  (A1) at (0,0,0);% mit Markierung
    \coordinate  (A2) at (2,0,0);
    \coordinate  (A3) at (2,2,0);
    \coordinate  (A4) at (0,2,0);
    \coordinate  (A5) at (0,0,-2);
    \coordinate  (A6) at (2,0,-2);
    \coordinate  (A7) at (2,2,-2);
    \coordinate  (A8) at (0,2,-2);
    \draw (A1) -- (A2) -- (A3) -- (A4) -- cycle;
    \draw (A5) -- (A6) -- (A7) -- (A8) -- cycle;
    \draw (A1) -- (A5) (A2) -- (A6) (A3) -- (A7) (A4) -- (A8);
  \end{tikzpicture}
\end{document}