사인, 코사인, 탄젠트와 같은 함수를 사용하여 Tikz에서 좌표 계산하기

사인, 코사인, 탄젠트와 같은 함수를 사용하여 Tikz에서 좌표 계산하기

나는 pgfmanual로 TikZ를 배우고 있습니다. 주어진 예는 다음과 같습니다:

여기에 이미지 설명을 입력하세요

나는 지금까지 다음을 달성했습니다.

여기에 이미지 설명을 입력하세요

코드는 다음과 같습니다:

\documentclass{article}
\usepackage{tikz}

\tikzset{help lines/.style=very thin}
\tikzset{My Grid/.style={help lines,color=blue!50}}

\begin{document}
\begin{tikzpicture}
  \draw[My Grid] (-4,-4) grid (4,4);
  \draw (-5,0) node[left] {$(-5,0)$} -- (5,0) node[right] {$(5,0)$};
  \draw (0,-5) node[below] {$(0,-5)$} -- (0,5) node[above] {$(0,5)$};
  \draw (0,0)  circle [radius=3cm];
  \shadedraw[left color=gray, right color=green, draw=green!50!black] (0,0) -- (0.75,0)  arc [start angle=0, end angle=30, radius=1cm] -- cycle;
  \draw[red, very thick] (30:3cm) -- (2.6,0);
  \draw [very thick,orange] (3,0) -- (3,1.7);
\end{tikzpicture}
\end{document} 

경사면과 접선의 교차점을 달성하기 위해 pgfmanual은 매우 혼란스러운 경로 및 교차점 라이브러리 개념을 사용합니다.

직접 숫자를 사용하는 대신 A 지점에서 B 지점인 sin(30)까지 선을 그리고 비례적으로 각도의 탄젠트를 그리도록 시스템에 지시하는 더 쉬운 방법이 있습니까?

교차로, 극좌표, 경로 이외의 대안을 제안해주세요. pgfmanual에서는 이미 사용하고 있기 때문에 이해하기 어렵습니다.

답변1

cos(30)괄호 가 있으므로 tan(30)이 함수를 중괄호 안에 넣어야 합니다.{}

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{angles,quotes}

\tikzset{help lines/.style=very thin}
\tikzset{My Grid/.style={help lines,color=blue!50}}

\begin{document}
\begin{tikzpicture}
  \draw[My Grid] (-4,-4) grid (4,4);
  \draw (-5,0) node[left] {$(-5,0)$} -- (5,0) node[right] {$(5,0)$};
  \draw (0,-5) node[below] {$(0,-5)$} -- (0,5) node[above] {$(0,5)$};
  \draw (0,0)  circle [radius=3cm];

%   \shadedraw[left color=gray, right color=green, draw=green!50!black]
% (0,0) -- (0.75,0)  arc [start angle=0, end angle=30, radius=0.75cm] --  cycle;

  \coordinate(O)at(0,0);
  \draw[red, very thick] (30:3cm)coordinate(A) 
                         --({3*cos(30)},0)coordinate(B);

  \draw [very thick,orange] (3,0) -- (3,{3*tan(30)})coordinate(C);

  \pic[fill=green!50!black,
       angle radius=0.75cm,
       angle eccentricity=1.2,
       "\(\alpha\)"] {angle=B--O--A};

   \draw (O)--(C);

\end{tikzpicture}
\end{document} 

여기에 이미지 설명을 입력하세요

답변2

여기에 대한 대안이 있습니다Hafid의 좋은 답변, 시작한 방향으로 더 나아가십시오. 삼각함수를 사용할 필요가 없습니다. 극좌표와 투영법을 사용하는 것만으로도 충분합니다.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,angles,quotes}
\tikzset{help lines/.style=very thin}
\tikzset{My Grid/.style={help lines,color=blue!50}}

\begin{document}
\begin{tikzpicture}
  \draw[My Grid] (-4,-4) grid (4,4);
  \draw (-5,0) node[left] {$(-5,0)$} -- (5,0) node[right] {$(5,0)$};
  \draw (0,-5) node[below] {$(0,-5)$} -- (0,5) node[above] {$(0,5)$};
  \draw (0,0) coordinate (O)  circle [radius=3cm];
  \draw[red, very thick] (30:3cm) coordinate (A) 
  % (30:3cm) is a polar coordinate with angle 30 (degrees) and radius 3cm
  -- (0,0-|A) coordinate(Ax)
  %  (0,0-|30:3cm) is a point that has the x coordinate of A and y=0
  % see https://tex.stackexchange.com/a/401429/121799 for more details
  node[midway,left]{$\sin\alpha$};
  \draw [very thick,orange] (3,0) -- (intersection cs:
  first line={(O)--(A)},second line={(3,0)--(3,3)}) coordinate(A')
  % (A') is at the intersections of the lines OA and the vertical line through (3,0)
  node[midway,right]{$\tan\alpha$};
  \pic[fill=green!50,angle radius=1cm,
       angle eccentricity=0.6, "$\alpha$"] {angle=Ax--O--A};
  % that's almost a 1-1 copy of what you can find on p. 560 of the manual      
  \draw (O) -- (A');
  \draw[very thick,blue] (O) -- (Ax) node[midway,below]{$\cos\alpha$};
\end{tikzpicture}
\end{document} 

여기에 이미지 설명을 입력하세요

관련 정보