Как добавить цветные углы к зигзагообразной линии в TikZ?

Как добавить цветные углы к зигзагообразной линии в TikZ?

Есть ли простой способ нарисовать в TikZ край, украшенный зигзагообразным стилем, в котором каждый угол окрашен, так, чтобы результат был похож на:

введите описание изображения здесь

Я думал о создании такой линии вручную - вычислив все координаты углов и нарисовав там узлы - но это кажется очень проблематичным, так как я хочу нарисовать много таких линий в разных направлениях, я также хотел бы манипулировать длинами их сегментов и амплитудами. Зигзагообразное оформление кажется идеальным для этого - за исключением отсутствия очевидного способа раскрасить углы.

Есть ли какой-нибудь хороший способ сделать это? Я новичок в TikZ.

решение1

Вы можете добавить markingукрашение к zigzagукрашению.

введите описание изображения здесь

И декора будет определять amplitude, где должны быть отметки. Команда может использоваться с расстояниями или процентами, поэтому будет размещать отметки, начиная с √2/4 см, а затем каждые √2/2 см, до позиции 1, которая является концом пути.segment lengthzigzagmarkmark=between positions .35355cm and 1 step .7071cm

\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}

Вид работ также с кривыми:

\draw[dotzz](0,0) circle[radius=3cm];

введите описание изображения здесь

Связанный контент