\documentclass{article}
%Khai báo thư viện
\usepackage{tikz}
\usetikzlibrary{calc}
%=============Kết thúc khai báo thư viện
%
%Khai báo lệnh cung đi qua 3 điểm
\newcommand{\cungdiquabadiem}[4][]{
\coordinate (middle1) at ($(#2)!.5!(#3)$);
\coordinate (middle2) at ($(#3)!.5!(#4)$);
\coordinate (aux1) at ($(middle1)!1!90:(#3)$);
\coordinate (aux2) at ($(middle2)!1!90:(#4)$);
\coordinate (center) at ($(intersection of middle1--aux1 and middle2--aux2)$);
\draw[#1]
let \p1=($(#2)-(center)$),
\p2=($(#4)-(center)$),
\n0={veclen(\p1)}, % Radius
\n1={atan2(\y1,\x1)}, % angles
\n2={atan2(\y2,\x2)},
\n3={\n2>\n1?\n2:\n2+360}
in (#2) arc(\n1:\n3:\n0);
}
%=============Kết thúc khai báo lệnh mới
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (3,1);
\coordinate (B) at (1,2);
\coordinate (C) at (-2,-2);
\cungdiquabadiem{A}{B}{C};
\foreach \p in {A,B,C} %Nếu muốn tô cả tâm đường tròn thì dùng lệnh :\foreach \p in {A,B,C,center}
\fill[red] (\p) circle(2pt);
\end{tikzpicture}
\end{document}