Hallo,

ich möchte einen dreidimensionalen Würfel mit Tikz zeichnen, der eine Kantenlänge von 2 cm haben soll. Ich könnte mit dem Ergebnis eigentlich ganz zufrieden sein, wäre da nicht das Problem, dass der Würfel die gesamte Blattseite einnimmt. Ich würde mich freuen, wenn mir jemand kurz erklären würde, wie man das Koordinatensystem dahinter konfiguriert, sodass die Kantenlängen des Würfels tatsächlich nur 2cm betragen.

Hier seht ihr, wie ich die Koordinaten des Würfels definiert habe:

\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}

gefragt 22 Jul '20, 14:13

Jaffet's gravatar image

Jaffet
2111
Akzeptiert-Rate: 0%

geschlossen 10 Aug '20, 16:29

gast3's gravatar image

gast3
(ausgesetzt)

Bei mir ergibt der gezeigte Code nur ein rotes Feld mit schwarzem A1Was ist ein vollständiges Minimalbeispiel oder kurz VM und wie erstelle ich dieses?

(22 Jul '20, 15:08) gast3

Und bitte Crossposts immer verlinken!

(22 Jul '20, 15:22) gast3

Die Frage wegen Crosspost zu schließen ist total falsch. Crossposts sind hier ausdrücklich gewollt, damit man rasch Antworten zu Fragen finden kann. Deshalb wäre das richtige Vorgehen das Anbringen der auf golatex vorgeschlagenen Lösung gewesen. Das wird durch das Schließen jetzt für alle Zeiten verhindert. Fehler!

(11 Aug '20, 09:04) Vitali_Szarmach

Die Frage wurde nicht wegen des Crossposts geschlossen, sondern weil sie (übrigens auch in der Diskussion auf golatex.de) nicht wirklich nachvollziehbar ist. Wenn du aber gerne die Vorschläge von goLaTeX hier in Form eine Antwort aufgreifen willst, dann bitte. Die Frage ist wieder geöffnet.

(11 Aug '20, 12:10) gast3

@Vitali Nachdem die Frage nun wieder geöffnet ist, wäre es schön, wenn Du hier möglichst bald die von Dir vorgeschlagene Antwort schreibst.

(11 Aug '20, 14:25) esdd
2

@Vitali_Szarmach Es gab weder auf golatex.de noch hier ein Feedback des Fragestellers auf die anscheinend unklare Frage. Der Fragesteller war laut Profil nach der Frage, seit ca. 3 Wochen, nicht mehr eingeloggt hier und hat wie gesagt nix kommentiert. Ist schon sinnvoll, nach einiger Zeit vom Fragesteller anscheinend aufgegebene Fragen zu schließen, wenn sie auf dem Stand unklar sind. Das ist halt Aufräumen, verbessert den Fokus auf aktive und klare Fragen. Und lässt sich problemlos bei gezeigtem Interesse rückgängig machen.

(11 Aug '20, 14:33) stefan ♦♦

Ich habe einen polemischen Kommentar gelöscht.

(14 Aug '20, 12:35) stefan ♦♦
Ergebnis 5 von 7 show 2 more comments

Das Problem entsteht erst durch die Angabe der Einheit "cm" bei allen Koordinaten. Lässt man das weg, funktioniert es hervorragend:

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
%Definieren der Ecken
\coordinate  (A1) at (0,0,0){} node[above right,fill=red] {\huge A1};
\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}

Da die voreingestellt Einheit bereits Zentimeter ist, hat man so einen Würfel mit 2cm Kantenlänge:

beispiel.pdf

Wie man an dem Beispiel sieht, braucht man dafür auch gar keine zusätzlichen tikz-Bibliotheken, obwohl das auf golatex behauptet wird.

Permanenter link

beantwortet 14 Aug '20, 09:28

Vitali_Szarmach's gravatar image

Vitali_Szarmach
1005
Akzeptiert-Rate: 12%

Ich bin zwar einigermaßen überrascht, weil ich bisher dachte, man könne bei TikZ tatsächlich auch Einheiten mit angeben, aber das Weglassen führt in der Tat zur Lösung. Es sei aber darauf hingewiesen, dass auf goLaTeX nicht behauptet wird, dass man zusätzliche TikZ-Bibliotheken braucht. Die dortige Lösung von markusv kommt ebenfalls ohne zusätzliche Bibliothek aus. Die Lösung von Stamm-Gast zeigt lediglich eine Alternative mit 3d view, also mit Bibliothek, für interessierte Anwender.

(14 Aug '20, 11:36) gast3

Es wäre noch zu bemerken, dass \coordinate, anders als \node, keinen "(possibly empty) label text" enthält;
z.B. bei \coordinate (A2) at (2,0,0){};
Das wurde vom Start-"MWE" falsch übernommen.
Der Fehler macht sich dann bemerkbar, wenn man da mal etwas reinschreibt, z.B. {abc}

(14 Aug '20, 20:31) cis

TikZ stellt verschiedene Koordinatensysteme bereit. Eines davon ist das canvas cs, in dem die horizontale und vertikale Position eines Punktes in der Zeichenebene jeweils als Länge mit Einheit angegeben wird. Ein Beispiel mit expliziter Auswahl dieses Koordinatensystems wäre

\coordinate(A3) at (canvas cs: x=2cm,y=2cm);

Das canvas cs lässt sich auch implizit durch die Angabe von zwei Längen auswählen:

\coordinate(A3) at (2cm,2cm);

Ein weiteres sehr häufig genutztes Koordinatensystem ist das xyz cs. Dabei werden die Punkte durch die Angabe der Faktoren einer Linearkombination von drei Vektoren beschrieben. In der Voreinstellung zeigt der x-Vektor 1cm nach rechts, der y-Vektor 1cm nach oben und der z-Vektor entspricht dem Punkt (-.385cm,-.385cm) in der Zeichenebene. Die Faktoren für diese Vektoren sind logischer Weise einfach nur Zahlen, haben also keine Einheit. Ein Beispiel mit expliziter Auswahl des xyz cs wäre

\coordinate(A7) at (xyz cs: x=2,y=2,z=-2)

Auch das xyz cs lässt sich implizit auswählen. Dafür werden zwei (dann gilt z=0) oder drei dimensionslose Faktoren angegeben. Für die Koordinate A7 sind drei Faktoren nötig:

\coordinate(A7) at (2,2,-2);

Wenn die Richtungsvektoren nicht verändert wurden, entspricht das der Darstellung im canvas cs:

\coordinate(A7) at (canvas cs: x=2.77cm,y=2.77cm);

bzw.

\coordinate(A7) at (2.77cm,2.77cm);

Solange nur Werte für die x- und y-Richtung angegeben werden, also im xyz cs der Faktor für den z-Vektor Null ist und deshalb weggelassen wird, lassen sich die beiden Koordinatensysteme auch mischen. Beispielsweise entspricht die Koordinate (2,5mm) der Summe aus den beiden Koordinaten (2,0) und (0pt,5mm).

Du musst also immer dann, wenn Du Koordinaten über die drei Richtungsvektoren festlegen möchtest, das xyz cs wählen, also Faktoren für die drei Richtungsvektoren angeben.

\documentclass{article}
\usepackage{tikz}

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

\coordinate  (A5) at (0,0,-2);% entspricht in der Voreinstellung (.77cm,.77cm)
\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}
Permanenter link

beantwortet 15 Aug '20, 03:22

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

Prima Erklärung, bei der es mir wie Bretter vorm Kopf runter hagelt.

(15 Aug '20, 10:00) gast3
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:

×731
×55
×30
×10
×8

gestellte Frage: 22 Jul '20, 14:13

Frage wurde gesehen: 6,310 Mal

zuletzt geändert: 15 Aug '20, 10:00