沿路径的光子线 - 误差维度太大

沿路径的光子线 - 误差维度太大

我正在尝试沿着一条奇特的路径产生一条光子线。我制作了下图:

在此处输入图片描述

使用代码:

\documentclass[crop,tikz]{standalone}
\usepackage{tikz}

\usetikzlibrary{shapes.geometric, arrows}
\usepackage[compat=1.0.0]{tikz-feynman}
\usetikzlibrary{decorations.pathreplacing,angles,quotes,decorations.pathmorphing}

\begin{document}

    \begin{tikzpicture}[x=1cm,y=1cm,
    photon/.style={decorate,decoration={snake,post length=2mm,pre length=2mm, segment length=1.0mm, amplitude=0.5mm,}}
    ]

        \draw [<->,>=stealth',black,photon] plot [smooth] coordinates {(0,0) (0.5,0.5) (3,0)};

    \end{tikzpicture}
\end{document}

奇怪的是,当我简单地用不同的坐标替换情节线时,例如

\draw [<->,>=stealth',black,photon] plot [smooth] coordinates {(0,0) (1,-1) (2,-1) (3,0)};

我收到错误

尺寸太大。

指向那条线。

我只能猜测,这可能是因为光子摆动和曲率一起产生了奇怪的尺寸。有什么建议可以解决这个问题吗?

答案1

这是装饰的常见问题。根据我的经验,使用该库绘制平滑曲线dimension too large时,出错的几率会大大降低。hobby

\documentclass[crop,tikz]{standalone}

\usetikzlibrary{arrows,decorations.pathmorphing,hobby}

\begin{document}

\begin{tikzpicture}[x=1cm,y=1cm,
    photon/.style={decorate,decoration={snake,post length=2mm,pre length=2mm, segment length=1.0mm, amplitude=0.5mm,}}
    ]

    \draw [<->,>=stealth',black,photon, use Hobby shortcut] 
        (0,0) .. (1,-1) .. (2,-1) .. (3,0);

    %    \draw [<->,>=stealth',black,photon] plot [smooth] coordinates {(0,0) (0.5,0.5) (3,0)};

\end{tikzpicture}
\end{document}

在此处输入图片描述

该路径通常看起来与实际获得的路径有些不同,plot[smooth] {<coordinates>}但它是一种有效的平滑插值(在某种意义上甚至是更好的插值)。

相关内容