用线圈或蛇装饰的 TikZ 路径

用线圈或蛇装饰的 TikZ 路径

论坛上反复出现的一个问题是...如何绘制一条末端没有直线段的装饰路径?

通常描述的路径是直线(参见帖子1帖子2或者帖子3),但也有半圆路径的解决方案(参见帖子4)。

我感兴趣的是画一条普通的路径,用线圈和蛇装饰(波长为整数)。我找到了一个有趣的蛇形装饰解决方案这里,但没有给出线圈装饰的线索。

问题

一条普通的道路怎么能用线圈来装饰呢?限制为波长的整数倍。


更新

已经指出敲击我的问题定义中存在不同的问题。所以,我不会那么激进...

问题 v.2.0

假设我们有一条足够平滑的路径(没有顶点或突变)。此外,我们希望路径的端点位于线圈振幅的中心。如果可能的话,我们希望控制线圈的匝数,而不是给出线圈的“波长”。

这样的构造该如何定义?

答案1

这是一个效果不太好的想法(因为精度问题)。

  1. 取路径的长度
  2. segment length设置此长度的线圈1/n并装饰......

以下是一个实验。

\documentclass[varwidth,border=7mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{decorations.markings,decorations.pathmorphing}
\tikzset{
  get length/.style = {
    preaction={decorate,
      decoration={ markings,
        mark = at position 1 with
        {
          \pgfkeysgetvalue{/pgf/decoration/mark info/distance from start}{\len}
          \xdef\pathlen{\len}
        }
      }
    }
  }
}

\begin{document}
  \begin{tikzpicture}
  \draw [get length] (0,0) circle(3);
  \draw[decoration={coil,amplitude=3mm,segment length={\pathlen /200}},
        decorate] (0,0) circle(3);
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容