
Möchten Sie die folgenden Formen in TikZ verwenden?
\begin{tikzpicture}
\tikzstyle{every node}=[draw,shape=circle];
\draw (0,0) -- (0,1) node {1};
\draw (0,1) -- (1,1) node {2};
\draw (1,1) -- (1,0) node {3};
\draw (1,0) -- (0,0) node {4};
\end{tikzpicture}
\begin{tikzpicture}
\tikzstyle{every node}=[draw,shape=circle];
\draw (0,0) -- ++ (1,1) node {1};
\draw (1,1) -- ++ (1,-1) node {2};
\draw (0,0) -- ++ (2,0) node {3};
\end{tikzpicture}
Antwort1
Versuchen Sie, diesen Code zu verstehen, und Sie werden wissen, wie Sie sie alle zeichnen.
Beginnen Sie mit der Definition der Koordinaten.
\coordinate (1) at (0,0,2);
erstellt ein coordinate node
( node
dimensionsloses) mit dem Namen 1
am Punkt (x,y,z)=(0,0,2)
. 2
bedeutet 2cm
. Wenn Sie eine bestimmte Einheit ändern müssen, ändern Sie sie cm
in mm
, in
, … Später erfolgt die Referenzierung auf den Punkt (0,0,2) mit (1)
. Es ist nicht erforderlich, sich dessen spezielle Koordinaten zu merken.
Platzieren Sie zweitens Kreise in jeder Koordinate und fügen Sie ihnen Beschriftungen hinzu.
\fill (1) circle (1pt) node [below] {1};
zeichnet und füllt einen Kreis mit Radius 1pt
(1 Punkt) mit Mittelpunkt in der Koordinate 1
. Darunter 1
wird ein Knoten mit Text platziert. Da die Punkte 1 bis 4 unten und 5 bis 8 oben eine Beschriftung haben, ist es möglich, eine foreach
Schleife zu verwenden.
Zuletzt draw
die Linien zwischen den Koordinaten:
\draw[dashed] (1)--(4)--(3) (4)--(8);
zeichnet eine dashed
Linie von Koordinate 1 nach 4 und 3. Als nächstes platziert er den Stift auf Koordinate 4 und zeichnet eine weitere Linie zur Koordinate 8.
Sie können nodes
( coordinates
sind Knoten) verwenden, um andere Knoten zu positionieren. JLDiaz hat in seinen Kommentaren erklärt, wie man calc
die Syntax verwendet (erfordert \usetikzlibrary{calc} in der Präambel):
\coordinate (17) at ($(1)!.5!(5)$);
definiert eine neue Koordinate 17
für "den Punkt auf der Linie (1)-(5), der 50% der Distanz von (1) entfernt ist" (die !.5! bedeutet 50%). Sobald Sie eine Koordinate 17
definiert haben, können Sie sie erneut anwenden \fill (17) circle (1pt) node [left] {17};
, um den Kreis zu zeichnen und zu beschriften.
Eine alternative Syntax könnte sein
\path (1) -- (5) coordinate[pos=0.5] (17);
Das bedeutet, dass Sie sich von diesem Pfad 1
zu diesem bewegen 5
und dort pos=0.5
einen Koordinatenknoten mit dem Namen 17 platzieren. Diese Syntax verwendet keine calc
Bibliothek.
Als Übung: Was glauben Sie, was \coordinate (27) at ($(1)!.5!(7)$);
passiert?
Vor dem vollständigen Code noch ein kleiner Vorschlag. Wenn Sie sich von der riesigen Dokumentation eingeschüchtert fühlen TiKZ
, werfen Sie einen Blick auf einige der empfohlenen Dokumente in
Nun der komplette Code
\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (1) at (0,0,2);
\coordinate (2) at (2,0,2);
\coordinate (3) at (2,0,0);
\coordinate (4) at (0,0,0);
\coordinate (5) at (0,2,2);
\coordinate (6) at (2,2,2);
\coordinate (7) at (2,2,0);
\coordinate (8) at (0,2,0);
\coordinate (17) at ($(1)!.5!(5)$);
\coordinate (27) at ($(1)!.5!(7)$);
\foreach \i in {1,...,4}
\fill (\i) circle (1pt) node [below] {\i};
\foreach \i in {5,...,8}
\fill (\i) circle (1pt) node [above] {\i};
\fill (17) circle (1pt) node [left] {17};
\fill (27) circle (1pt) node [above] {27};
\draw (1) --(2) --(3) --(7) --(6)--(5)--(8)--(7);
\draw (1)--(5) (2)--(6);
\draw[dashed] (1)--(4) --(3) (4)--(8);
\end{tikzpicture}
\end{document}