
Quiere que las siguientes formas funcionen en TikZ
\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}
Respuesta1
Intenta comprender este código y sabrás cómo dibujarlos todos.
Comience con la definición de coordenadas.
\coordinate (1) at (0,0,2);
crea un coordinate node
( node
sin dimensiones) nombrado 1
en el punto (x,y,z)=(0,0,2)
. 2
medio 2cm
. Si necesita algún cambio de unidad en particular cm
a mm
, in
,... Posteriormente la referencia al punto (0,0,2) se hará con (1)
. No es necesario recordar sus coordenadas particulares.
En segundo lugar, coloque círculos en cada coordenada y agréguele etiquetas.
\fill (1) circle (1pt) node [below] {1};
dibujará y rellenará un círculo con radios 1pt
(1 punto) con centro en coordenadas 1
. Debajo se coloca un nodo con texto 1
. Debido a que los puntos 1 a 4 tienen la etiqueta debajo y los puntos 5 a 8 la tienen arriba, es posible utilizar un foreach
bucle.
Por último, draw
líneas entre coordenadas:
\draw[dashed] (1)--(4)--(3) (4)--(8);
Dibuja una dashed
línea desde las coordenadas 1 a 4 y 3. Luego coloca el bolígrafo en la coordenada 4 y dibuja otra línea hasta la coordenada 8.
Puede utilizar nodes
( coordinates
son nodos) para posicionar otros nodos. JLDiaz explicó en sus comentarios cómo usar calc
la sintaxis (necesita \usetikzlibrary{calc} en el preámbulo) para hacerlo:
\coordinate (17) at ($(1)!.5!(5)$);
define una nueva coordenada 17
en "el punto de la línea (1)-(5) que está al 50% de la distancia de (1)" (el !.5! significa que el 50%). Una vez que haya 17
definido las coordenadas, puede aplicarlas nuevamente \fill (17) circle (1pt) node [left] {17};
para dibujar el círculo y la etiqueta.
Una sintaxis alternativa podría ser
\path (1) -- (5) coordinate[pos=0.5] (17);
lo que significa moverse desde 1
y 5
hacia pos=0.5
esta ruta y colocar un nodo de coordenadas llamado 17. Esta sintaxis no utiliza calc
biblioteca.
Como ejercicio: ¿Qué crees \coordinate (27) at ($(1)!.5!(7)$);
que hace?
Antes del código completo una pequeña sugerencia. Si te sientes intimidado por TiKZ
la enorme cantidad de documentación, echa un vistazo a algunos de los documentos recomendados en
Ahora el código completo
\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}