
Deseja fazer com que as seguintes formas funcionem no 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}
Responder1
Tente entender esse código e você saberá desenhar todos eles.
Comece com a definição de coordenadas.
\coordinate (1) at (0,0,2);
cria um coordinate node
( node
sem dimensões) nomeado 1
em point (x,y,z)=(0,0,2)
. 2
significa 2cm
. Se você precisar de alguma mudança de unidade específica cm
para mm
, in
, ... A referência posterior ao ponto (0,0,2) será feita com (1)
. Não há necessidade de lembrar suas coordenadas específicas.
Em segundo lugar, coloque círculos em cada coordenada e adicione rótulos a eles.
\fill (1) circle (1pt) node [below] {1};
desenhará e preencherá um círculo com raio 1pt
(1 ponto) com centro na coordenada 1
. Abaixo dele 1
é colocado um nó com texto . Como os pontos 1 a 4 possuem rótulo abaixo e 5 a 8 acima, é possível usar um foreach
loop.
Por último, draw
linhas entre coordenadas:
\draw[dashed] (1)--(4)--(3) (4)--(8);
desenha uma dashed
linha da coordenada 1 a 4 e 3. Em seguida, coloca a caneta na coordenada 4 e desenha outra linha na coordenada 8.
Você pode usar nodes
( coordinates
são nós) para posicionar outros nós. JLDiaz explicou em seus comentários como usar calc
a sintaxe (precisa de \usetikzlibrary{calc} no preâmbulo) para fazer isso:
\coordinate (17) at ($(1)!.5!(5)$);
define uma nova coordenada 17
no "ponto na linha (1)-(5) que está a 50% da distância de (1)" (o !.5! significa que 50%). Uma coordenada 17
definida pode ser aplicada novamente \fill (17) circle (1pt) node [left] {17};
para desenhar o círculo e o rótulo.
Uma sintaxe alternativa poderia ser
\path (1) -- (5) coordinate[pos=0.5] (17);
o que significa mover-se de 1
e 5
para pos=0.5
este caminho e colocar um nó de coordenadas chamado 17. Esta sintaxe não usa calc
biblioteca.
Como exercício: O que você acha \coordinate (27) at ($(1)!.5!(7)$);
que faz?
Antes do código completo uma pequena sugestão. Se você se sente intimidado por TiKZ
uma enorme documentação, dê uma olhada em alguns dos documentos recomendados em
Agora o 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}