Como adicionar cantos coloridos à linha em zigue-zague no TikZ?

Como adicionar cantos coloridos à linha em zigue-zague no TikZ?

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:

insira a descrição da imagem aqui

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 markingdecoração a uma zigzagdecoração.

insira a descrição da imagem aqui

O amplitudee segment lengthda zigzagdecoração determinará onde devem ficar as marcas. O markcomando pode ser utilizado com distâncias ou porcentagens, portanto mark=between positions .35355cm and 1 step .7071cmcolocará 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];

insira a descrição da imagem aqui

informação relacionada