Is there an easy latex class to create this figure?
Thanks!
Here is a TikZ method that uses the angles and quotes libraries to automatically draw the angle based on three coordinates, based off this answer.
\documentclass[tikz,border=3pt]{standalone}
\usetikzlibrary{quotes,angles}
\begin{document}
\begin{tikzpicture}[line cap=rect]
\coordinate (Origin) at (0,0);
\draw [->,blue] (Origin)--++(30:2) coordinate (VecV) node[midway,auto,swap] {$\vec{v}$};
\draw [->,red] (Origin)--++(110:2) coordinate (VecU) node[midway,auto] {$\vec{u}$};
\draw pic["$\theta$", draw=orange, text=orange, <->, angle eccentricity=1.25, angle radius=1cm]
{angle=VecV--Origin--VecU};
\end{tikzpicture}
\end{document}
And an animated version just for fun...
\documentclass[tikz,border=3pt]{standalone}
\usetikzlibrary{quotes,angles}
\begin{document}
\foreach \X in {-180,-170,...,90,80,70,...,-180}{
\begin{tikzpicture}[line cap=rect]
\path[use as bounding box] (-2.2,-2.2) rectangle (2.2,2);
\coordinate (Origin) at (0,0);
\draw [->,blue] (Origin)--++(\X:2) coordinate (VecV);
\path (Origin)--++(\X-15:1) coordinate (VecVLabel);
\node [blue] at (VecVLabel) {$\vec{v}$};
\draw [->,red] (Origin)--++(110:2) coordinate (VecU) node[midway,auto] {$\vec{u}$};
\draw pic["$\theta$", draw=orange, text=orange, <->, angle eccentricity=1.25, angle radius=1cm] {angle=VecV--Origin--VecU};
\end{tikzpicture}
}
\end{document}
<->drawLatexarrows at both ends? – Diaa Jul 19 '18 at 19:31latex-latexinstead of<->, but remember to load thearrows.metalibrary, i.e. put\usetikzlibrary{arrows.meta}in your preamble. – Milo Jul 19 '18 at 19:34