![Círculo unitário combinado com ângulos](https://rvso.com/image/281603/C%C3%ADrculo%20unit%C3%A1rio%20combinado%20com%20%C3%A2ngulos.png)
Tentei fazer um círculo unitário para explicar os ângulos, mas o círculo não está no lugar certo dentro dos eixos definidos. Estou usando o método errado? Ou não posso usar a definição do eixo como no código. Também quero que a intersecção do segmento e do círculo defina o sen e o cos do ângulo (mas acho que encontrarei mais tarde com o tkz-euclide)
Meu código:
\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}
Também tenho o problema quando o ângulo > 180 dá o ângulo errado, pois \tkzGetAngle só funciona no intervalo -180° +180°.
Responder1
Você meio que faz três perguntas bem diferentes. Pela primeira vez:
Por padrão, o valor anchor
de um pgfplots
eixo é definido como south west
e a posição é definida como (0,0)
no sistema de coordenadas de tikzpicture
. Você pode alterar a posição com at={(x,y)}
, mas como seu círculo está definido, (0,0)
isso não é necessário. Você só precisa adicionar anchor=center
opções axis
.
Para o segundo:
Para obter a intersecção entre os segmentos de linha e o círculo você pode usar
\tkzInterLC[R](A,C)(A,5cm)\tkzGetSecondPoint{CC}
\tkzInterLC[R](A,D)(A,5cm)\tkzGetSecondPoint{DC}
CC
e DC
são as interseções. No código abaixo desenhei e rotulei esses pontos, mas não desenhei as linhas correspondentes ao seno e ao cosseno.
\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}