我在 2012 年的 Stack Exchange 中找到了这段代码,我很喜欢这个想法的总体思路,但是,它似乎并没有按照我希望的方式工作。我研究了各种螺旋代码,但没有一个能真正完成原始代码的功能。
我对代码的问题是我不知道如何开始螺旋。理想情况下,我想选择螺旋的起始位置,例如 (0.5,0),但当我运行此代码时,它似乎只从 1 开始。然后它绘制了一个相当大的螺旋,我也想控制它。我想要比这更多的控制,有没有办法修改此代码来做我想要的事情?
如果这很重要的话,我会在 pgfplot 环境中运行它。
\documentclass[11pt]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\newcommand\bigangle[2][]{%
\draw[->,domain=0:#2,variable=\t,samples=200,>=latex,#1]
plot ({(\t+#2)*cos(\t)/(#2)},
{(\t+#2)*sin(\t)/(#2)}) node[right=.5cm] {$#2^\circ$}
;}
\begin{tikzpicture}
\draw [thick] ( 0,0) -- (3,0);
\draw [thick] ( 0,0) -- (0,3);
\draw [red,thick] ( 0,0) -- (400:3);
\bigangle[blue,dashed]{400}
\end{tikzpicture}
\end{document}
更新:我正在尝试使用这个代码思想在我的单位圆内绘制,所以我尝试将它放在这个代码中:
\begin{tikzpicture}[scale=1.2]
\begin{axis}[
minor tick num=1,
ticks=none,
axis x line=middle,
axis y line=middle,
ymax=1.5,
ymin=-1.5,
xmin=-1.5,
xmax=1.7
]
\addplot[blue,domain=-1:1, samples=100] {(1 - x^2)^0.5};
\addplot[blue,domain=-1:1, samples=100] {-(1 - x^2)^0.5};
\addplot[blue, domain=0:1,]{0}node[below left, black]{$360^{\circ}$};
\draw [red,thick] ( 0,0) -- (400:1);
\bigangle[blue,dashed,]{400};
\end{axis}
\end{tikzpicture}
答案1
\documentclass[11pt]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\newcommand\bigangle[2][]{%
\draw[->,domain=0:#2,variable=\t,samples=200,>=latex,#1]
plot ({(\t+2*#2)*cos(\t)/(2*#2)},
{(\t+2*#2)*sin(\t)/(2*#2)}) node[right=.5cm] {$#2^\circ$}
;}
\begin{tikzpicture}
\draw [thick] ( 0,0) -- (3,0);
\draw [thick] ( 0,0) -- (0,3);
\draw [red,thick] ( 0,0) -- (400:3);
\bigangle[blue,dashed]{400};
\end{tikzpicture}
\begin{tikzpicture}
\draw [thick] ( 0,0) -- (3,0);
\draw [thick] ( 0,0) -- (0,3);
\draw [red,thick] ( 0,0) -- (400:3);
\bigangle[blue,dashed]{760};
\end{tikzpicture}
\begin{tikzpicture}
\draw [thick] ( 0,0) -- (3,0);
\draw [thick] ( 0,0) -- (0,3);
\draw [red,thick] ( 0,0) -- (60:3);
\bigangle[blue,dashed]{1140}
\end{tikzpicture}
\end{document}