我一直在使用 tikz 绘制不同的三角函数,但经常发现一个奇怪的问题:当我写类似
\begin{tikzpicture}
\draw[domain=-4:4,samples=1000,variable=\x] plot ({\x},{cos(\x)});
\end{tikzpicture}
我只能看到几乎一条直线。然而,当我将参数乘以一个大数(例如 100)时,就会出现更接近余弦函数图的东西:
\begin{tikzpicture}
\draw[domain=-4:4,samples=1000,variable=\x] plot ({\x},{cos(100*\x)});
\end{tikzpicture}
鼻窦炎也会出现同样的情况。为什么?
答案1
默认情况下,三角函数的参数以度为单位。您可以通过以下方式切换到弧度:
- 使用
trig format=rad
(在 pgfplots 中使用trig format plots=rad
),或 - 将函数的参数包装
deg
到 - 通过 附加函数的参数
r
。
顺便说一句,还有sin
和cos
路径构造可用,即您不一定需要来plot
绘制三角函数。
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[font=\sffamily]
\draw[thick,blue,trig format=rad] plot[domain=-3*pi/2:3*pi/2,samples=101,variable=\x] ({\x},{cos(\x)})
node[right]{use \texttt{trig format=rad}};
\draw[thick,red,yshift=-1cm]
plot[domain=-3*pi/2:3*pi/2,samples=101,variable=\x] ({\x},{cos(deg(\x))})
node[right]{use \texttt{deg} function};
\draw[thick,magenta,yshift=-2cm]
plot[domain=-3*pi/2:3*pi/2,samples=101,variable=\x] ({\x},{cos(\x r)})
node[right]{append an \texttt{r} to the argument};
\draw[thick,orange,yshift=-3cm] (-3*pi/2,0) sin (-pi,-1) cos (-pi/2,0) sin (0,1)
cos (pi/2,0) sin (pi,-1) cos (3*pi/2,0)
node[right]{use \texttt{sin} and \texttt{cos} path construction};
\end{tikzpicture}
\end{document}