如何在 tikz 中制作弯曲弹簧(线圈),以解决力学问题

如何在 tikz 中制作弯曲弹簧(线圈),以解决力学问题

有没有办法使用 tikz(首选,或者 pstricks 也可以)来制作弯曲线圈?本质上,我想在圆形线上制作由弹簧连接的珠子。以下是我想要制作的图像:

http://i.imgur.com/lh6Ze9I.jpg

普通线圈在弹簧末端附近有小的非线圈段,而上图没有这样的段。但是,如果可能的话,我希望在弹簧末端附近有小的直线段。

答案1

您的问题是“为我做”问题之一......

编辑:无论如何,@AboAmmar 快了几秒钟,而且几乎给出了相同的解决方案。所以在不知该怎么做时,我先删除我的答案,然后激活,再次删除,最后,由于差异很小,我决定激活它。

在此处输入图片描述

上图是由以下人员绘制的:

\documentclass[border=3mm,
               tikz,
               ]{standalone}
\usetikzlibrary{decorations.pathmorphing}
\begin{document}

\begin{tikzpicture}[
    decoration={coil,amplitude=3mm,segment length=3mm}
                    ]
\draw                       (0,0)   circle  (2);
\draw[decorate,thick,red]   ( 95:2) arc     ( 95:270:2);
\draw[decorate,thick,blue]  (-85:2) arc     (-85:90:2);
\fill[black]                (0,-2)  circle  (3mm)
                            (0, 2)  circle (3mm);
\draw[thick,<->]            (70:2.6) arc    (70:110:2.6) node[above,midway] {$F_d(t)$};
\end{tikzpicture}
    \end{document}

答案2

尝试这个decoration方法:

\documentclass[tikz]{standalone}
\usetikzlibrary{decorations.pathmorphing}
\begin{document}

\scriptsize
\begin{tikzpicture}
\draw (0,0) circle (1cm);
\draw[decorate,decoration={coil,segment length=4pt},rotate=92] (0,0) circle(1cm);
\draw[fill] (0,1) node[above=.2cm]{$F_d(t)$} circle(3pt) (0,-1) circle(3pt);
\draw [<->] (75:1.2cm) arc [radius=1.2cm, start angle=75, end angle=105];
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容