答案1
欢迎。您可以在平滑图上添加随机变形。
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[declare function={rr=1.5*(1+0.1*rnd);}]
\draw[clip] plot[smooth cycle,variable=\t,samples at={0,45,...,315}] (\t:rr);
\foreach \X [count=\Y starting from 0] in {red,blue,green!70!black}
{\draw[\X] plot[smooth,variable=\t,samples at={0,0.25,...,1.75}]
(15+8*rnd+120*\Y:\t);
}
\end{tikzpicture}
\end{document}
你当然也可以将其制作成动画。
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\foreach \X in {1,...,42}
{\begin{tikzpicture}
\path[use as bounding box] (-1.8,-1.8) rectangle (1.8,1.8);
\draw[clip] plot[smooth cycle,variable=\t,samples at={0,45,...,315}] (\t:{1.5*(1+0.1*rnd)});
\foreach \X [count=\Y starting from 0] in {red,blue,green!70!black}
{\draw[\X] plot[smooth,variable=\t,samples at={0,0.25,...,1.75}]
({15+6*(rnd-0.5)+120*\Y}:\t);
}
\end{tikzpicture}}
\end{document}
答案2
只是为了好玩。让其他专家来实现随机扭曲的半径。
\documentclass[pstricks]{standalone}
\usepackage{pst-node,pst-plot}
\begin{document}
\pstVerb{realtime srand}%
\psLoop{25}{%
\begin{pspicture}(-2,-2)(2,2)
\curvepnodes[plotpoints=10]{0}{360}{Rand 5 div 1.5 add t PtoC}{P}
\psnccurve(0,\numexpr\Pnodecount-1){P}
\psline[linecolor=red](P0)
\psline[linecolor=green](P3)
\psline[linecolor=blue](P6)
\end{pspicture}}
\end{document}
编辑
没有 PSTricks,就没有派对!
\documentclass[pstricks]{standalone}
\usepackage{pst-node,pst-plot}
\begin{document}
\pstVerb{realtime srand}%
\psLoop{10}{%
\begin{pspicture}[saveNodeCoors](-2,-2)(2,2)
\curvepnodes[plotpoints=10]{0}{360}{Rand 1 add t PtoC}{P}
\psnccurve(0,\numexpr\Pnodecount-1){P}
\foreach \i/\c in {0/red,3/green,6/blue}{%
\pnode(P\i){T}
\curvepnodes[plotpoints=10]{0}{N-T.x N-T.y Pyth}{t Rand 0.5 sub 10 mul N-T.y N-T.x atan add PtoC}{Q}
\psncurve[linecolor=\c](0,\Qnodecount){Q}}
\end{pspicture}}
\end{document}