Mover rótulo de um ângulo no Tikz

Mover rótulo de um ângulo no Tikz

Orgulhosamente produzi a figura a seguir, com sua ajuda. Mas há um detalhe que não está bem: o rótulo theta2 tem que ser movido. Eu sei como mover rótulos em uma linha, mas não neste caso. Como funciona?

imagem

\documentclass{article}
\usepackage{tkz-euclide}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usetkzobj{all} % not necessary with the last versions
\usepackage{subcaption}

%\usetkzobj{all} only once
\usetikzlibrary{calc,patterns,angles,quotes}

\begin{document}

\begin{tikzpicture}[scale=1]
 \begin{scope}[thick,font=\scriptsize]
    \draw [->] (-.5,0) -- (5.5,0) node [above left]  {$\operatorname{Re} z$};
    \draw [->] (0,-.5) -- (0,4) node [below right] {$\operatorname{Im} z$};
  \end{scope}
  \coordinate (o) at (0,0);
  \coordinate (z1) at (4.511,1.642);
  \coordinate (z2) at (2.143,2.553);
  \coordinate (pr) at (1.368,3.759);
  \coordinate (x) at (1,0);
  \coordinate (y) at (0,1);
  \draw (o) -- node[above,shift={(.4cm,.1cm)}] {$r_1$} (z1) node [right] {$z_1$};
  \draw (o) -- node[above,yshift=.2cm] {$r_2$} (z2) node [right] {$z_2$};
  \draw (o) -- node[above,yshift=1cm] {$r_1{\cdot}r_2$} (pr) node [right] {$z_1\cdot z_2$};
  \draw pic[draw, "$\theta_1$", ->, angle eccentricity=1.2,angle radius = 1cm] {angle = x--o--z1}; 
  \draw pic[draw, "$\theta_2$", ->, angle eccentricity=1.2,angle radius = 1.5cm] {angle = x--o--z2}; 
  \draw pic[draw, "$\theta_1{+}\theta_2$", ->, angle eccentricity=1.2,angle radius = 2.5cm] {angle = x--o--pr}; 
\end{tikzpicture}

\end{document}

Responder1

O texto da foto do texto tem a opção text pic options. Aqui, basta mover o texto para a esquerda para evitar sobreposição na lateral z_1do ângulo.

pic text options={shift={(-3pt,3pt)}}

Tomei a liberdade de colorir os diferentes ângulos, o que na minha humilde opinião facilita a leitura da figura.

captura de tela

\documentclass{article}
\usepackage{tkz-euclide}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{subcaption}

\usetikzlibrary{calc,patterns,angles,quotes}

\begin{document}

\begin{tikzpicture}[scale=1]
 \begin{scope}[thick,font=\scriptsize]
    \draw [->] (-.5,0) -- (5.5,0) node [above left]  {$\operatorname{Re} z$};
    \draw [->] (0,-.5) -- (0,4) node [below right] {$\operatorname{Im} z$};
  \end{scope}
  \coordinate (o) at (0,0);
  \coordinate (z1) at (4.511,1.642);
  \coordinate (z2) at (2.143,2.553);
  \coordinate (pr) at (1.368,3.759);
  \coordinate (x) at (1,0);
  \coordinate (y) at (0,1);
  \draw (o) -- node[above,shift={(.4cm,.1cm)}] {$r_1$} (z1) node [right] {$z_1$};
  \draw (o) -- node[above,yshift=.2cm] {$r_2$} (z2) node [right] {$z_2$};
  \draw (o) -- node[above,yshift=1cm] {$r_1{\cdot}r_2$} (pr) node [right] {$z_1\cdot z_2$};
  \draw pic[draw,red, "$\theta_1$", ->, angle eccentricity=1.2,angle radius = 1cm] {angle = x--o--z1}; 
  \draw pic[draw,blue, "$\theta_2$", ->, angle eccentricity=1.2,angle radius = 1.5cm,pic text options={shift={(-3pt,3pt)}}] {angle = x--o--z2}; 
  \draw pic[draw,violet, "$\theta_1{+}\theta_2$", ->, angle eccentricity=1.2,angle radius = 2.5cm] {angle = x--o--pr}; 
\end{tikzpicture}

\end{document}

Responder2

Neste caso, acho que podemos adicionar opções ao rótulo do ângulo, colocando-as após o texto citado assim: \draw pic[draw, "$\theta_2$"{option1,option2,...}, ->, angle eccentricity=1.2,angle radius = 1.5cm] {angle = x--o--z2};

o código

\documentclass{article}
\usepackage{tkz-euclide}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usetkzobj{all}
\usepackage{subcaption}

\usetkzobj{all}
\usetikzlibrary{calc,patterns,angles,quotes}

\begin{document}

\begin{tikzpicture}[scale=1]
 \begin{scope}[thick,font=\scriptsize]
    \draw [->] (-.5,0) -- (5.5,0) node [above left]  {$\operatorname{Re} z$};
    \draw [->] (0,-.5) -- (0,4) node [below right] {$\operatorname{Im} z$};
  \end{scope}
  \coordinate (o) at (0,0);
  \coordinate (z1) at (4.511,1.642);
  \coordinate (z2) at (2.143,2.553);
  \coordinate (pr) at (1.368,3.759);
  \coordinate (x) at (1,0);
  \coordinate (y) at (0,1);
  \draw (o) -- node[above,shift={(.4cm,.1cm)}] {$r_1$} (z1) node [right] {$z_1$};
  \draw (o) -- node[above,yshift=.2cm] {$r_2$} (z2) node [right] {$z_2$};
  \draw (o) -- node[above,yshift=1cm] {$r_1{\cdot}r_2$} (pr) node [right] {$z_1\cdot z_2$};
  \draw pic[draw, "$\theta_1$", ->, angle eccentricity=1.2,angle radius = 1cm] {angle = x--o--z1}; 
  \draw pic[ draw,->,blue, "$\theta_2$"{shift=(80:0.35),inner sep=1pt, circle,draw},angle eccentricity=1.1,angle radius = 1.5cm] {angle = x--o--z2}; 
  \draw pic[draw, "$\theta_1{+}\theta_2$", ->, angle eccentricity=1.2,angle radius = 2.5cm] {angle = x--o--pr}; 
\end{tikzpicture}

\end{document}

insira a descrição da imagem aqui

Responder3

Vamos mover os rótulos manualmente.

insira a descrição da imagem aqui

\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[scale=2,thick]
\draw[->] (-.5,0)--(2.5,0) node[below]{\rm{Re}$z$};
\draw[->] (0,-.5)--(0,3) node[left]{\rm{Im}$z$};
\def\aone{20} \def\atwo{45}
\def\rone{2}  \def\rtwo{1.6}
\draw 
(0,0)--(\aone:\rone) 
node[pos=.8,below]{$r_1$} node[right]{$z_1$} 
(0,0)--(\atwo:\rtwo) 
node[pos=.65,left]{$r_2$} node[above]{$z_2$}
(0,0)--(\aone+\atwo:\rone*\rtwo) 
node[pos=.65,left]{$r_1\cdot r_2$} node[right]{$z_1\cdot z_2$};
\draw[->,red] (0:.5) arc(0:\aone:.5) 
node[pos=.55,right]{$\theta_1$};
\draw[->,blue] (0:.8) arc(0:\atwo:.8) 
node[pos=.75,right]{$\theta_2$};
\draw[->,magenta] (0:1.2) arc(0:\aone+\atwo:1.2)
node[pos=.55,right]{$\theta_1+\theta_2$};
\end{tikzpicture}
\end{document}

Responder4

Usandotzplot:

insira a descrição da imagem aqui

\documentclass{standalone} 

\usepackage{amsmath}
\usepackage{tzplot}

\begin{document}

\begin{tikzpicture}
\tzhelplines(5,4)
\tzaxes(-.5,-.5)(5.5,4.5){$\operatorname{Re} z$}[al]{$\operatorname{Im} z$}[br]
\tzcoors(0,0)(o)(4.511,1.642)(z1)(2.143,2.553)(z2)(1.368,3.759)(pr)(1,0)(x)(0,1)(y);
\tzline(o){$r_1$}[a,pos=0.6](z1){$z_1$}[r]
\tzline(o)(z2){$z_2$}[r]
\tzline(o){$r1\!\cdot\!r2$}[near end,al=-3pt](pr){$z_1\!\cdot\!z_2$}[r]
\tzanglemark[->](x)(o)(z1){$\theta_1$}[pos=1.25](1cm)
\tzanglemark[->](x)(o)(z2){$\theta_2$}[pos=1.1,yshift=7pt,red](1.5cm) % label moved
\tzanglemark[->](x)(o)(pr){$\theta_1+\theta_2$}[pos=1.25](2.5cm)
\end{tikzpicture}

\end{document}

informação relacionada