
Eu gostaria de desenhar ciclos (ou caminhos poligonais) usando TikZ
. Forneço um código no qual tento fazer isso usando coordenadas retangulares e coordenadas polares. No primeiro desenho, acho que o ciclo está obscurecido pelas linhas de apoio. O segundo desenho não está desenhado da maneira que eu pretendia.
Em ambos os desenhos, tenho os caminhos em uma grade. Eu queria fazer as linhas da grade com um quarto da espessura dos segmentos de linha nos ciclos e em cinza claro. Acho que a espessura padrão das linhas desenhadas TikZ
é 0,4pt; então, pensei que a especificação line width=0.1pt
tornaria as linhas de ajuda um quarto da espessura dos ciclos. Isso não aconteceu. Esqueci como deixar as linhas em cinza claro. (Achei que as linhas de ajuda eram cinza por padrão.)
\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{intersections,decorations.pathreplacing,positioning}
\begin{document}
\begin{tikzpicture}
\draw (0,0) grid [xstep=0.5, ystep=0.5, line width=0.1pt,gray] (6,6);
\draw[line width=0.5pt] (4,1) -- ++(1,0) -- ++(0,3) -- ++(-2,0) -- cycle;
\end{tikzpicture}
\vskip0.25in
\begin{tikzpicture}
\draw (0,0) grid [xstep=0.5, ystep=0.5, line width=0.1pt,gray] (6,6);
\draw[line width=0.5pt] (1,1.5) -- ++(2:135) -- ++(1:135) -- ++(3:90) -- ++ (1:120) -- cycle;
\end{tikzpicture}
\end{document}
Responder1
As opções de desenho precisam ser passadas para o \draw
comando em vez de grid
. (EDITAR: comoQrrbrbirlbel disse primeiro.)
As coordenadas polares são especificadas como (angle:distance)
. Mas observe que um ângulo de 135
, digamos, está sempre na mesma direção, então os dois primeiros segmentos do seu caminho estão indo na mesma direção:
(1,1.5) -- ++(135:2) -- ++(135:1)
e
(1,1.5) -- ++(135:3)
são equivalentes.
Portanto, o código parcialmente corrigido fica assim:
\documentclass{amsart}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [gray, line width=0.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\draw [line width=0.5pt] (4,1) -- ++(1,0) -- ++(0,3) -- ++(-2,0) -- cycle;
\end{tikzpicture}
\vskip0.25in
\begin{tikzpicture}
\draw [gray, line width=0.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\draw [line width=0.5pt] (1,1.5) -- ++(135:2) -- ++(135:1) -- ++(90:3) -- ++ (120:1) -- cycle;
\end{tikzpicture}
\end{document}
mas provavelmente não é isso que você deseja:
Close das linhas:
EDITAR
A shapes.geometric
biblioteca permite desenhar facilmente coisas como polígonos regulares:
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
\draw [gray, line width=.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\node [shape=regular polygon, regular polygon sides=5, draw, minimum width=15mm] at (3,3) {};
\end{tikzpicture}
\end{document}
No entanto, se isso não for adequado, você pode tentar o seguinte:
\begin{tikzpicture}
\draw [gray, line width=.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\begin{scope}[shift={(1,1.5)}]
\draw [line width=0.5pt] ++(0:1) -- ++(72:1) -- ++(144:1) -- ++(216:1) -- ++ (288:1) -- cycle;
\end{scope}
\end{tikzpicture}
EDITAR EDITAR
Ou irregular...
\begin{tikzpicture}
\draw [gray, line width=.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\begin{scope}[shift={(3,1.5)}]
\draw [line width=0.5pt] ++(0:2) -- ++(72:1) -- ++(144:3) -- ++(216:2.5) -- ++ (288:.5) -- cycle;
\end{scope}
\end{tikzpicture}