Есть ли простой способ нарисовать в TikZ край, украшенный зигзагообразным стилем, в котором каждый угол окрашен, так, чтобы результат был похож на:
Я думал о создании такой линии вручную - вычислив все координаты углов и нарисовав там узлы - но это кажется очень проблематичным, так как я хочу нарисовать много таких линий в разных направлениях, я также хотел бы манипулировать длинами их сегментов и амплитудами. Зигзагообразное оформление кажется идеальным для этого - за исключением отсутствия очевидного способа раскрасить углы.
Есть ли какой-нибудь хороший способ сделать это? Я новичок в TikZ.
решение1
Вы можете добавить marking
украшение к zigzag
украшению.
И декора будет определять amplitude
, где должны быть отметки. Команда может использоваться с расстояниями или процентами, поэтому будет размещать отметки, начиная с √2/4 см, а затем каждые √2/2 см, до позиции 1, которая является концом пути.segment length
zigzag
mark
mark=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];