Question: An ordered set of three points uniquely defines a circular arc, and I'd like to be able to draw that arc in TikZ. I know about the `arc` drawing command, which does the job given a radius, two angles, and one endpoint, but in order to do that I would have to calculate the radius and the angles from the other two points on the arc. I suppose I could whip up some code to do that automatically using the PGF math library, but is there a better way? Or has anyone else already made this into a package/library I could reuse?

Answer: 
Use the following code to draw the arc corresponding to the circle through (1,2), (3,4) and (2,4) and going anticlockwise from (1,2) to (2,4).

```
\documentclass[a4paper]{article}
\usepackage{tkz-euclide}
\usetkzobj{all} 
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(1,2){A}\tkzDefPoint(3,4){B}\tkzDefPoint(2,4){C}
\tkzCircumCenter(A,B,C)\tkzGetPoint{O}
\tkzDrawArc(O,A)(C)
\end{tikzpicture}
\end{document}

```
The `ext.topaths.arcthrough` library from my [`tikz-ext`ensions package](https://ctan.org/pkg/tikz-ext) has been created from this answer and provied a `arc through` key that expects one coordinate (including the `()` as it may preceeded with `+` or `++`).

It avoids

* `tkz-euclide` or similar solutions that uses a separated path (which makes it impossible to use the arc as part of a path;
* the `calc` library and instead uses PGF’s already present macros `\pgfpointlineattime` and `\pgfpointintersectionofline` as well as `\pgfmathrotatepointaround` and `\pgfmathanglebetweenpoints`.

As an argument, `arc through` also accepts `clockwise` and `counter clockwise` (default).

The point that is given as an argument is used to calculate the radius. The arc is not necessary drawn through this point, the *circle* on which the arc lies goes through this point.
This makes it possible to draw the rest of said circle without the need to give another coordinate. (The name `arc on circle that goes through` would probably be a better name for this …)

The coordinate `arc through center` is defined after the to path and can be used for later reference (as long as no other `arc through` is used again, of course).

This solution uses the same calculation algorithm as the one in [JLDiaz](https://tex.stackexchange.com/users/12571/jldiaz)’ [answer](https://tex.stackexchange.com/a/103340).

Code
----

```
\documentclass[tikz]{standalone}
\usetikzlibrary{ext.topaths.arcthrough}
\begin{document}
\begin{tikzpicture}
\coordinate[label=above right:$A$] (A) at ( 3, 1);
\coordinate[label=above:$B$]       (B) at ( 1, 2);
\coordinate[label=below left:$C$]  (C) at (-2,-2);

\draw[ultra thick, draw=green, fill=green!50]
  (B) to[arc through={clockwise,(A)}] (C)
  -- (arc through center) -- cycle;
\draw[ultra thick, draw=blue, fill=blue!50]
  (B) to[arc through=(A)]             (C)
  -- (arc through center) -- cycle;
\foreach \p in {A,B,C, arc through center}
  \fill[red] (\p) circle[radius=2pt];
\end{tikzpicture}
\end{document}

```

Output
------

![enter image description here](https://i.stack.imgur.com/DHLN0.png)