\documentclass[tikz,border=10pt,multi]{standalone}
\usepackage{amsmath}
\usepackage{amsfonts}
\usetikzlibrary{calc,arrows.meta,positioning}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}

\begin{tikzpicture}
  \draw [-{Latex[]}, gray] (-3.5,0) -- (4.5,0) node [below right] {$x$};
  \draw [-{Latex[]}, gray] (0,-1.0) -- (0,5.5) node [above right] {$y$};

  %A triangle is drawn on the Cartesian plane. One side of the triangle is along
  %the positive x-axis, and another side of the triangle is drawn in Quadrant II.
  \coordinate (O) at (0,0);
  \coordinate (A) at (3.5,0);
  \coordinate (B) at (120:5);
  \draw [thick] (O) node [below right] {$O (0, 0)$} -- (A) -- (B) -- cycle;

  % The label for A is typeset.
  \node at (3.5,-2.5mm){$A (a, 0)$};

  \draw[fill] (A) circle (1.5pt);
  \draw[fill] (B) circle (1.5pt);
  \draw[fill] (O) circle (1.5pt);

  % The label for B is typeset.
  \coordinate (label_C_left) at ($(B)!-4mm!(A)$);
  \coordinate (label_C_right) at ($(B)!-4mm!(O)$);
  \coordinate (label_C) at ($(label_C_left)!0.5!(label_C_right)$);
  \node at ($(B)!3.5mm!(label_C)$) [right] {$B (b\cos\theta, b\sin\theta)$};

  % Angles are drawn for $\theta$ and its supplement.
  \draw[draw=blue] (O) ++(120:4mm) arc (120:0:4mm);
  \coordinate (label_for_theta) at (60:6mm);
  \node[font=\footnotesize] at (label_for_theta){$\theta$};
  \draw[draw=blue,dash dot] (O) ++(180:6mm) arc (180:120:6mm);
  \coordinate (label_for_supplement_to_theta) at (160:10.5mm);
  \node[font=\footnotesize] at (label_for_supplement_to_theta){$\pi - \theta$};

  % A right-angle mark is drawn.
  \coordinate (U) at ($(-2.5,0)!3mm!45:(O)$);
  \draw[dash dot] (U) -- ($(-2.5,0)!(U)!(O)$);
  \draw[dash dot] (U) -- ($(-2.5,0)!(U)!(B)$);

  \draw[dashed] (B) -- (-2.5,0);

  % Braces indicating the distances that B is from the axes are typeset. To
  % give them the appearance of being typeset over the axes, they are first
  % typeset in white with a line width of 2pt, which is 10 times the thickness
  % of the brace that is actually typeset.
  \draw[draw=white,line width=4pt,decorate,decoration={brace,raise=5pt,amplitude=5pt}] (-2.5,0) -- (B);
  \draw[decorate,decoration={brace,raise=5pt,amplitude=5pt}] (-2.5,0) -- (B);
  \draw[draw=white,line width=4pt,decorate,decoration={brace,raise=5pt,amplitude=5pt,mirror}] (-2.5,0) -- (O);
  \draw[decorate,decoration={brace,raise=5pt,amplitude=5pt,mirror}] (-2.5,0) -- (O);

  % Labels for the braces (they contain the distances from the axis)..
  \coordinate (label_for_5_sin_theta) at ($({5*cos(120)},{2.5*sin(120)}) + (-2.5mm-10pt,0pt)$);
  \node[anchor=east] at (label_for_5_sin_theta){$b\sin\theta$};
  \coordinate (label_for_5_cos_theta) at (-1.25,-2.5mm-10pt);
  \node at (label_for_5_cos_theta){$b\cos\theta$};

  % Labels for the sides of the triangle.
  \coordinate (label_for_b) at (-1.25, 1.8cm);
  \node at (label_for_b){$b$};
  \coordinate (label_for_a) at (1.8cm, -0.25cm);
  \node at (label_for_a){$a$};
  \coordinate (label_for_c) at (1.0cm, 2.0cm);
  \node at (label_for_c){$c$};
\end{tikzpicture}
\end{document}