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