改进代码以绘制多个循环三角函数

改进代码以绘制多个循环三角函数

我该如何改进此代码以生成三个变化三角正切高度的循环?请注意,我设法正确绘制了红线,但无法改进绿线。我想要的是减小它们的角度和直线。绿线的高度不正确。

\begin{tikzpicture}[>=latex,scale=2]
\foreach \radius in {1,2,3}{
    \pgfmathsetmacro{\YValue}{tan(60/\radius)*\radius}
    \pgfmathsetmacro{\sinus}{sin(60/\radius)*\radius}
    \pgfmathsetmacro{\cosinus}{cos(60/\radius)*\radius}
    \begin{scope}[xshift=3*\radius cm]
        \draw circle (1);
        %axis
        \draw[->] (-1.2,0) -- (1.2,0) coordinate (x);
        \draw[->] (0,-1.2) -- (0,1.2);
        %angles
        \fill[fill=green!25] (0,0) -- (.2,0) arc (0:60/\radius:.2) -- cycle;
        %sinus
        \coordinate (P) at (60/\radius:1);
        \draw[<-,red,line width=1pt] (P) -- (P |- x);
        \fill[blue] (P) circle (1pt);
        \draw (0,0) -- (P);
        %cosinus
        \draw[->,orange] (0,0) -- (P |- 0,0);
        %tangent
        \draw[dashed] (0,0) -- (1,\YValue);
        \draw[->,green,line width=1pt] (1,0) -- (1,\YValue);
    \end{scope}
};
\end{tikzpicture}

在此处输入图片描述

答案1

如果我理解正确的话,绿线是绿色角度的正切。然后你应该\foreach像这样重写循环中的公式:

    \pgfmathsetmacro{\YValue}{tan(60/\radius)}
    \pgfmathsetmacro{\sinus}{sin(60/\radius)}
    \pgfmathsetmacro{\cosinus}{cos(60/\radius)}

在此处输入图片描述

相关内容