각도와 결합된 단위원

각도와 결합된 단위원

각도를 설명하기 위해 단위원을 만들어 보았으나 정의된 축 내에서 원이 올바른 위치에 있지 않습니다. 제가 잘못된 방법을 사용하고 있는 걸까요? 아니면 코드에서처럼 축 정의를 사용할 수 없나요? 나는 또한 각도의 사인과 코사인을 정의하기 위해 선분과 원의 교차점을 원합니다(그러나 그것은 나중에 tkz-euclide에서 찾을 것이라고 생각합니다)

내 코드:

\documentclass[11pt,a4paper]{article} % use larger type; default would be 10pt
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all} %% om allerhande objecten te gebruiken zoals gradenboog...
\usetikzlibrary{calc,intersections,through,backgrounds,snakes}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\usepgfplotslibrary{statistics}
\begin{document}
 \begin{tikzpicture}
 \begin{axis}%
 [
    grid=major, 
    x=50mm,
    y=50mm,
    xmin=-1.1, xmax=1.1,
    xtick={-1,0,1},   
    minor xtick={-1,-0.9,...,1},
    xminorgrids = true,
    xlabel={\tiny $x$},
    axis x line=middle,
    ymin=-1.1, ymax=1.1,
    ytick={-1,0,1},
    minor ytick={-1,-0.9,...,1},
    yminorgrids = true,
    ylabel={\scriptsize $y$},
    axis y line=middle,
    no markers,
    samples=100,
    ]

 \draw[blue] (axis cs:0,0) circle[radius=1];
 \end{axis}     
 \tkzDefPoint(0,0){A}
 \tkzDrawCircle[R](A,5cm)
 \tkzDefPoint[shift={(0,0)}](0:5.2){B}
 \tkzDefPoint[shift={(0,0)}](50:5.2){C}
 \tkzDefPoint[shift={(0,0)}](130:5.2){D}

 \tkzDrawSegments[color = red, line width = 1pt](A,B A,C)
 \tkzDrawSegments[color = blue, line width = 1pt](A,B A,D)

 \tkzDrawPoints(A) \tkzLabelPoints(A)
 \tkzMarkAngle[fill= blue,size=2.5cm, opacity=.4](B,A,D);
 \tkzMarkAngle[fill= red,size=1.5cm, opacity=.7](B,A,C);

 \tkzFindAngle(B,A,C) \tkzGetAngle{angleBAC}; 
 \FPround\angleBAC\angleBAC{0}
 \tkzLabelAngle[pos = 1](B,A,C){\angleBAC$^\circ$ };

 \tkzFindAngle(B,A,D) \tkzGetAngle{angleBAD};
 \FPround\angleBAD\angleBAD{0}
 \tkzLabelAngle[pos = 2](B,A,D){\angleBAD$^\circ$ };    

 \end{tikzpicture}
\end{document}

또한 각도 > 180일 때 문제가 있습니다. \tkzGetAngle은 -180° +180° 간격에서만 작동하기 때문에 잘못된 각도를 제공합니다.

단위원

답변1

당신은 세 가지 매우 다른 질문을 합니다. 처음으로:

기본적으로 축의 anchorpgfplots으로 설정되고 south west위치는 (0,0)의 좌표계에서 로 설정됩니다 tikzpicture. 을 사용하여 위치를 변경할 수 있지만 at={(x,y)}원이 주변에 설정되어 있으므로 (0,0)그럴 필요는 없습니다. 옵션 anchor=center에 추가해주시면 됩니다 axis.

두 번째:

선분과 원 사이의 교차점을 얻으려면 다음을 사용할 수 있습니다.

\tkzInterLC[R](A,C)(A,5cm)\tkzGetSecondPoint{CC} 
\tkzInterLC[R](A,D)(A,5cm)\tkzGetSecondPoint{DC}

CCDC교차로입니다 . 아래 코드에서는 해당 점을 그리고 레이블을 지정했지만 사인과 코사인에 해당하는 선은 그리지 않았습니다.

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

\documentclass[11pt]{standalone} % use larger type; default would be 10pt
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all} %% om allerhande objecten te gebruiken zoals gradenboog...
\usetikzlibrary{calc,intersections,through,backgrounds,snakes}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\usepgfplotslibrary{statistics}
\begin{document}
 \begin{tikzpicture}
 \begin{axis}%
 [
    anchor=center,  % sets axis anchor to the axis origin
    grid=major, 
    x=50mm,
    y=50mm,
    xmin=-1.1, xmax=1.1,
    xtick={-1,0,1},   
    minor xtick={-1,-0.9,...,1},
    xminorgrids = true,
    xlabel={\tiny $x$},
    axis x line=middle,
    ymin=-1.1, ymax=1.1,
    ytick={-1,0,1},
    minor ytick={-1,-0.9,...,1},
    yminorgrids = true,
    ylabel={\scriptsize $y$},
    axis y line=middle,
    no markers,
    samples=100,
    ]

 \draw[blue] (axis cs:0,0) circle[radius=1];
 \end{axis}     
 \tkzDefPoint(0,0){A}
 \tkzDrawCircle[R](A,5cm)
 \tkzDefPoint[shift={(0,0)}](0:5.2){B}
 \tkzDefPoint[shift={(0,0)}](50:5.2){C}
 \tkzDefPoint[shift={(0,0)}](130:5.2){D}

 \tkzDrawSegments[color = red, line width = 1pt](A,B A,C)
 \tkzDrawSegments[color = blue, line width = 1pt](A,B A,D)


 % Finds the intersections of segments and circle
 \tkzInterLC[R](A,C)(A,5cm)\tkzGetSecondPoint{CC}
 \tkzInterLC[R](A,D)(A,5cm)\tkzGetSecondPoint{DC}

 % draw and label points
 \tkzDrawPoints(A,CC,DC) \tkzLabelPoints(A,CC,DC)

 \tkzMarkAngle[fill= blue,size=2.5cm, opacity=.4](B,A,D);
 \tkzMarkAngle[fill= red,size=1.5cm, opacity=.7](B,A,C);

 \tkzFindAngle(B,A,C) \tkzGetAngle{angleBAC}; 
 \FPround\angleBAC\angleBAC{0}
 \tkzLabelAngle[pos = 1](B,A,C){\angleBAC$^\circ$ };

 \tkzFindAngle(B,A,D) \tkzGetAngle{angleBAD};
 \FPround\angleBAD\angleBAD{0}
 \tkzLabelAngle[pos = 2](B,A,D){\angleBAD$^\circ$ };    

 \end{tikzpicture}
\end{document}

관련 정보