Existe alguma maneira fácil de desenhar no TikZ uma borda decorada em zigue-zague, em que todos os cantos são coloridos, para que o resultado seja semelhante a:
Pensei em criar essa linha manualmente - calculando as coordenadas de todos os cantos e desenhando nós lá - mas isso parece muito problemático, como quero desenhar muitas dessas linhas em diferentes direções, também gostaria de manipular os comprimentos e amplitudes de seus segmentos. A decoração em zigue-zague parece perfeita para isso - exceto por nenhuma maneira óbvia de colorir os cantos.
Existe alguma maneira legal de fazer isso? Sou novo no TikZ.
Responder1
Você pode adicionar uma marking
decoração a uma zigzag
decoração.
O amplitude
e segment length
da zigzag
decoração determinará onde devem ficar as marcas. O mark
comando pode ser utilizado com distâncias ou porcentagens, portanto mark=between positions .35355cm and 1 step .7071cm
colocará uma marca começando em √2/4 cm e depois a cada √2/2 cm, até a posição 1, que é o final do caminho.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing, decorations.markings}
\tikzset{
dot/.style={fill=red, circle, inner sep=0pt, minimum size=2mm},
dotzz/.style={
decorate, decoration={zigzag, amplitude=.25cm, segment length=1cm},
postaction={decorate, decoration={markings,
mark=between positions .35355cm and 1 step .7071cm with{\node[dot]{};}}}
}
}
\begin{document}
\begin{tikzpicture}
\draw[dotzz](0,0)--(4,3);
\end{tikzpicture}
\end{document}
Também funciona com curvas:
\draw[dotzz](0,0) circle[radius=3cm];